理解不了,比如*curr, *head;可以帮忙注释一下吗解释一下重要语句的作用

qinglv1 2016-05-21 02:22:46
struct list1
{
int val;
struct list1 *next;
};
typedef struct list1 item;
void main()
{
item *curr, *head;
int i;
head = NULL;
for (i = 1; i <= 10; i++)
{
curr = (item *)malloc(sizeof(item));
curr->val = i;
curr->next = head;
head = curr;
}
curr = head;
while (curr)
{
printf("%d\t", curr->val);
curr = curr->next;
}
getchar();//调试模式
};
...全文
1488 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2016-05-23
  • 打赏
  • 举报
回复
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。
lqbk1 2016-05-21
  • 打赏
  • 举报
回复
如果这都需要解释的话,那么楼主不应该上论坛,而是应该找本数据结构的课本学习一下。 这样会事半功倍的,祝你好运^_^
小灸舞 版主 2016-05-21
  • 打赏
  • 举报
回复 1

#include<stdio.h>
#include<stdlib.h>

//定义一个结构体
struct list1
{
	int val;
	struct list1 *next; //next指针指向后继结点
};
typedef struct list1 item; //定义别名
void main()
{
	item *curr, *head;//定义两个指针,curr用来保存当前的结点,head保存头结点的地址
	int i;
	head = NULL;//将头指针置为NULL
	for (i = 1; i <= 10; i++)//循环10次
	{
		curr = (item *)malloc(sizeof(item));//malloc一个结点
		curr->val = i;//赋值
		curr->next = head;//将当前malloc出来的结点的next指针指向head
		                 //i=1时,第一个结点的next指针指向NULL,i>1时,将新结点的next指向原来的头结点,在头部拼上新结点
		head = curr;//head指向新结点(因为是头插法,所以让head重新指回当前链表的第一个结点)
	}
	curr = head;//curr指向头结点以输出链表中的元素
	while (curr)
	{
		printf("%d\t", curr->val);
		curr = curr->next;
	}
	getchar();//调试模式
};
代码功能归根结底不是别人帮自己看或讲解或注释出来的;而是被自己静下心来花足够长的时间和精力亲自动手单步或设断点或对执行到某步获得的中间结果显示或写到日志文件中一步一步分析出来的。 提醒:再牛×的老师也无法代替学生自己领悟和上厕所! 单步调试和设断点调试(VS IDE中编译连接通过以后,按F10或F11键单步执行,按Shift+F11退出当前函数;在某行按F9设断点后按F5执行停在该断点处。)是程序员必须掌握的技能之一。

70,026

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧