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;