C语言 结构体的定义及使用

调试结果在下面:

请问怎么改啊?刚学C语言 有些用法搞的不是特清楚

初始化错误,首先应该定义一个结构体变量,然后再进行初始化,注意定义结构体变量的时候,如果用指针的话要先用malloc申请内存,否则会提示段错误。
初始化结构体的时候这么写yinkailin.name = "yinkaulin",算了我把整个main函数写给你吧
int main (int argc,char **argv)
{
struct student yinkailin; //定义结构体变量

/****初始化结构体变量**/

memzero(&yinkailin);//先整体清零,以防止遗漏成员变量初始化

yankailin.name ="yankailin";

yankailin.set = "male";

下面的自己写就ok了

/****end**/

}
望采纳,我一个个认真的敲上去的啊。。。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-03-28
不是结构体的问题,是数组的问题
char name[]="Tom";//正确:定义并初始化

char name[20];
name[]="tom"; //错误
name="tom"; //错误
strcpy(name,"tom"); //正确,字符串拷贝
scanf("%s", name); //正确,从键盘输入本回答被网友采纳
第2个回答  2021-01-18

C语言_071_指针的定义和使用_上

第3个回答  2013-03-28
额·你的初始化有错误~~
yinkailin.Name[] = "yinkailin";这样初始化是不行滴~
加头文件#include <string.h>
然后这样初始化~
strcpy(yinkailin.name, "yinkailin");
第4个回答  2013-03-28
你需要在主程序中规定数据类型,或者把数据设成公有的

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网