C语言链表 指针
下面注释里/******************表示不懂O.O*******************************/大神帮忙了~~~~~~~o.ointiCou...
下面注释里/******************表示不懂O.O*******************************/
大神帮忙了~~~~~~~o.o
int iCount;
struct Student* pHead=NULL;
struct Student* pEnd,*pNew;
iCount=0;
pEnd=pNew=(struct Student*)malloc(sizeof(struct Student));/*(struct Student)后面加个(*)号啥意思 加也不是应该加在前面的吗*/
printf("please first enter Name,then Number\n");
scanf("%s",&pNew->cName); /*(pNew)不是已经是输出的NAME的地址了吗?为什么还要加个(&)呢?*/
scanf("%d",&pNew->iNumber);
while(pNew->iNumber!=0)
{
iCount++;
if(iCount==1)
{
pNew->pNext=pHead;
pEnd=pNew;/*这里是指pEnd指向pNew吗?*/
pHead=pNew;
}
else
{
pNew->pNext=NULL;
pEnd->pNext=pNew;
pEnd=pNew;
}
pNew=(struct Student*)malloc(sizeof(struct Student));
scanf("%s",&pNew->cName);
scanf("%d",&pNew->iNumber);
}
free(pNew);
return pHead;/*为什么要返回pHead 是指要返回NULL的意思吗?*/ 展开
大神帮忙了~~~~~~~o.o
int iCount;
struct Student* pHead=NULL;
struct Student* pEnd,*pNew;
iCount=0;
pEnd=pNew=(struct Student*)malloc(sizeof(struct Student));/*(struct Student)后面加个(*)号啥意思 加也不是应该加在前面的吗*/
printf("please first enter Name,then Number\n");
scanf("%s",&pNew->cName); /*(pNew)不是已经是输出的NAME的地址了吗?为什么还要加个(&)呢?*/
scanf("%d",&pNew->iNumber);
while(pNew->iNumber!=0)
{
iCount++;
if(iCount==1)
{
pNew->pNext=pHead;
pEnd=pNew;/*这里是指pEnd指向pNew吗?*/
pHead=pNew;
}
else
{
pNew->pNext=NULL;
pEnd->pNext=pNew;
pEnd=pNew;
}
pNew=(struct Student*)malloc(sizeof(struct Student));
scanf("%s",&pNew->cName);
scanf("%d",&pNew->iNumber);
}
free(pNew);
return pHead;/*为什么要返回pHead 是指要返回NULL的意思吗?*/ 展开
1个回答
2016-09-11
展开全部
代码不是太完整
/*(struct Student)后面加个(*)号啥意思 加也不是应该加在前面的吗*/
强制类型转换
;/*这里是指pEnd指向pNew吗?*/
是赋值
;/*为什么要返回pHead 是指要返回NULL的意思吗?*/
返回链表的头,以供使用 。
/*(struct Student)后面加个(*)号啥意思 加也不是应该加在前面的吗*/
强制类型转换
;/*这里是指pEnd指向pNew吗?*/
是赋值
;/*为什么要返回pHead 是指要返回NULL的意思吗?*/
返回链表的头,以供使用 。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询