c语言问题,怎么给结构体数组赋值一个字符串

c语言问题,怎么给结构体数组赋值一个字符串怎么给结构体数组负值一个字符串struct
{
char *name;
int n;
}people[3]={{"aimi",0},{"mike",0},{"jome",0}};
这样子为什么不行?

/*因编译器而异,我的编译器就可以这样赋值。对于你的,首先检查你的代码中的标点符号是否是英文标点符号。还是不行的话,可以这样,看例子:*/
#include<stdio.h>
#include<stdlib.h>

struct
{
char *name;
int n;
}people[3];
int main()
{
char *arr[3]={"aimi","mike","jome"};
int i;

for(i=0;i<3;i++)
{
people[i].name=arr[i];
people[i].n=0;
printf("%s %d\n",people[i].name,people[i].n);
}
system("PAUSE");
return 0;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-08-10
strcpy(people.name, "mike");

~
~
~追问

我试了一下,发现按你这种方法,定义时不能用指针,应该给他一个数组空间,才不会出错。这是为什么呢?谢谢大佬

相关了解……

你可能感兴趣的内容

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