struct student
{
char name[20];
};
#include <stdio.h>
main()
{
struct student s1;
s1.name = "zhang";
printf("%s\n", s1.name);
return 0;
}
上面的这个代码会报错,原因是因为在c的结构体中,字符串不能直接这样赋值,需要用到string中的拷贝语句。如下:
struct student
{
char name[20];
};
#include <stdio.h>
#include <string.h>
main()
{
struct student s1;
strcpy(s1.name, "zhang");
printf("%s\n", s1.name);
return 0;
}
这个程序就可以正常输出。然而,还有一种简单的赋值方法struct student
{
int id;
char name[20];
};
#include <stdio.h>
main()
{
struct student s1;
s1 = {1, "zhang"};
printf("%s\n", s1.name);
return 0;
}
正常输出。