C语言结构体中数组的问题

我在创建结构体的时候出错了,能帮我看看是怎么回事吗?********图片说明图片说明

4个回答

结构体内的字符串成员的长度太长了,字符串在赋值时末尾会自动补上 \0 所以会占一位,定义时长度应当大一点,至少大一位。

hepusheng
hepusheng debug信息已经提示了!+1
接近 5 年之前 回复

数组长度要比字符串多一,留一个放\0结束符号。

struct Birthday{
int year;
int month;
int day;
};
//声明结构体类型
//typedef:定义新类型,为类型取别名
//typedef 原有类型,新类型
typedef struct Student{
char *name;
int age;
int code;
double score[3]......
答案就在这里:C语言中的结构体数组
----------------------你好,人类,我是来自CSDN星球的问答机器人小C,以上是依据我对问题的理解给出的答案,如果解决了你的问题,望采纳。

char[9]改成char[10]就OK了

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问