当前位置:首页 » 编程语言 » c语言结构体指针

c语言结构体指针

发布时间: 2022-01-18 14:24:30

‘壹’ c语言指针和结构体

楼主你好:
for(i=cnt;i>0;i--)
{/*P为临时结构体指针*/
p=(struct linklist *)malloc(sizeof(linklist));
scanf("%s%s%d",p->sno,p->sname,&p->sgrade);
p->next=ps->next;
ps->next=p;
}
你仔细看一下你的这段代码。
第一次循环的时候,p指向ps指向的地址,然后ps指向p,这样的结果是:ps--->p---->p->next
然后下一次循环,ps->next现在是p,你执行了“p->next=ps->next”那么p指向了p自己。。。而ps指向了p。在以后的循环中无法改变这一现象,从而造成了死循环,不知道你是不是能够明白,推荐你画一下图,画画就明白了。

还有最后的那个for循环,终止条件改为p=p->next,这个应该是粗心了吧?

看起来你是初学c,c中联表示比较难以理解的一部分,祝你好运,学业有成。

‘贰’ c语言结构体指针

error C2106: '=' : left operand must be l-value
这句的意思是等号左边必须是一个左值,也就是说等号左边要放一个能被修改的值
这样看来 pcg->name不能被修改 估计name是个数组,数组名是个常量,是不能被改变的
这样操作: strcpy(pcg->name,temp.qq);

热点内容
小程序源码交易 发布:2025-07-02 23:41:46 浏览:548
旧手机忘记密码怎么办 发布:2025-07-02 23:25:52 浏览:150
androidwebview播放 发布:2025-07-02 23:24:42 浏览:538
纳税申报密码什么意思 发布:2025-07-02 23:24:42 浏览:816
存储器的原理与工程 发布:2025-07-02 23:21:17 浏览:408
linuxsnmp安装 发布:2025-07-02 23:07:08 浏览:651
北理c语言答案 发布:2025-07-02 23:05:57 浏览:306
sql同比 发布:2025-07-02 23:03:39 浏览:836
一个服务器获取多个ip 发布:2025-07-02 23:02:43 浏览:787
三星电脑wifi怎么连接wifi密码 发布:2025-07-02 22:55:00 浏览:712