C语言 变量、数组、结构体中的赋值

C语言中的变量、数组与结构体赋值解析
本文探讨了C语言中变量、数组和结构体的赋值问题。在变量赋值方面,基本数据类型允许初始化和再次赋值。数组赋值时,直接赋值字符串会导致错误,因为数组名是常量。结构体赋值中,编译器的解释和数组的常量特性导致不能直接赋值字符串。文章提供了处理此类问题的代码示例供读者参考。


今天主要就是一个 关于 C语言变量、数组、结构体等 赋值的一篇文章

问题来源

  今天有个同学问了我一个问题?    
![定义了一个结构体](https://img-blog.csdnimg.cn/20190516095846653.png),    
student.name =  "abcd";   为什么是错的?为什么不能赋值?应该怎么赋值?

那么小编我呢,看了半天,终于总结出一篇关于这个问题的 一篇文章。

变量赋值

int main(void){
     int a = 0;
     a = 1;
    char ch = 'a';
    ch = 97;
   return 0;  
}
e:\Workspace\VSCode\test>gcc h.c      可以编译,没有出错。

基本数据类型(int 、double、char等)的变量都可以, 初始化进行赋值和 “再次
赋值

数组赋值

int main(void){
char str[20] = "abcd";
str = "qwer";
str[0] = '1';
}

常见的赋值我就不写了。

这次编译就出现了错误
e:\Workspace\VSCode\test>gcc h.c
h.c: In function ‘main’:
h.c:5:9: error: assignment to expression with array type
str = “qwer”;

这个是为什么,基本数据类型变量可以,但是数组出错了???
小编先不急说为什么出错,咱们再接着看。

结构体赋值


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值