请问,在C语言中,怎么用结构体指针引用成员变量?怎么对成员变量赋值?
structInfo{charname[10];charsex[1];intage;intscore;charstop;structInfo*next;};typedef...
struct Info
{
char name[10];
char sex[1];
int age;
int score;
char stop;
struct Info *next;
} ;
typedef struct Info NODE;然后运用链表知识,创建链表,显示链表,销毁链表。在创建链表中,怎么对char name[10]赋值?在显示链表中怎么引用name[10]的值?就类似于如下程序: pnew->name = name;
pnew->sex= sex;
pnew->age = age;
pnew->score = score;
pnew->next = NULL;
tail->next = pnew;
tail = pnew;//赋值
puts(p->name);//引用
puts(p->sex);
printf ("%d ",p->age);
printf ("%d ",p->score);如果把数组name和sex注释掉,则运行没问题,解决一下。 展开
{
char name[10];
char sex[1];
int age;
int score;
char stop;
struct Info *next;
} ;
typedef struct Info NODE;然后运用链表知识,创建链表,显示链表,销毁链表。在创建链表中,怎么对char name[10]赋值?在显示链表中怎么引用name[10]的值?就类似于如下程序: pnew->name = name;
pnew->sex= sex;
pnew->age = age;
pnew->score = score;
pnew->next = NULL;
tail->next = pnew;
tail = pnew;//赋值
puts(p->name);//引用
puts(p->sex);
printf ("%d ",p->age);
printf ("%d ",p->score);如果把数组name和sex注释掉,则运行没问题,解决一下。 展开
3个回答
2013-07-14
展开全部
你的
pnew->name = name;
是不对的,字符串的拷贝应该用strcpy函数,比如
strcpy(pnew->name, "My Name");
之后再
puts(p->name);
就没问题了
pnew->name = name;
是不对的,字符串的拷贝应该用strcpy函数,比如
strcpy(pnew->name, "My Name");
之后再
puts(p->name);
就没问题了
2013-07-14
展开全部
对于字符串正确的做法是这样:strcpy(pnew->name, "灰太狼");如果是结构中的数组,则应该用memcpy函数幅值。把分交出来吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-07-14
展开全部
和正常使用字符串是一样的,p->name就是字符串。也可以p->name[0]去特定字符。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询