调试结果在下面:
请问怎么改啊?刚学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**/
}
望采纳,我一个个认真的敲上去的啊。。。
初始化结构体的时候这么写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); //正确,从键盘输入本回答被网友采纳
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");
yinkailin.Name[] = "yinkailin";这样初始化是不行滴~
加头文件#include <string.h>
然后这样初始化~
strcpy(yinkailin.name, "yinkailin");
第4个回答 2013-03-28
你需要在主程序中规定数据类型,或者把数据设成公有的