给结构体内数组赋值

C语言只有在定义字符数组时才能用 ‘=’ 来初始化赋值,其他情况不能用 =

如: 

char a[20] ="hello world";

不能 char a[20];

a = "hello world";

但可用strcpy (a, "hello world");        //包涵<string.h>


结构体

typedef struct _stu

{

char  name[20];

int num;

}stu;                              //此时sizeof(stu) = 24  不管有没有定义对象


如何给 name和num赋值? 

方法一: 定义时立即初始化赋值

stu stu1 = {"zhou",  9} ;                           //注意:C语言里不要出现09字样, 以0开头为八进制,9又超过了八进制表示范围

方法二:strcpy

stu stu1;

strcpy(stu1, "zhou");


错误方法:   stu stu1;

stu1.name ="zhou";       //这样犯了最上面所说错误,给地址赋值

但是可以: stu1.num = 9;

  • 4
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值