初学链表 就出现这

C语言 码拜 10年前 (2015-05-11) 1112次浏览 0个评论

初学链表 就出现这

照着书上的编,结果编译下出现这错误
主要错误就是这
gcc: dereferencing pointer to incomplete type错误

#include<stdio.h>
#include<stdlib.h>
struct student
{
	char cName[20];
	int iNumber;
	struct student *next;
};

int iCount;
struct Student *create()
{
	struct Student *pHead=NULL;
	struct Student *pEnd,*pNew;
	iCount=0;
	pEnd=pNew=(struct Student *)malloc(sizeof(struct student));
	scanf("%s",pNew->cName);
	scanf("%d",&pNew->iNumber);
	while (pNew->iNumber!=0)
	{ 
	iCount++;
	if (iCount==1)
	{
		pNew->next=pHead;
		pEnd=pNew;
		pHead=pNew;
	}
	else
	{
		pNew->next=NULL;
		pEnd->next=pNew;
		pEnd=pNew;
	}
	pNew=(struct Student *)malloc(sizeof(struct student));
	scanf("%s",pNew->cName);
	scanf("%d",&pNew->iNumber);
	}
	free(pNew);
	return pHead;
}
void print(struct Student *pHead)
{
	struct Student *pTemp;
	int iIndex=1;
	printf("************%d*************\n",iCount);
	pTemp=pHead;
	while (pTemp!=NULL)
	{
		printf("%d:\n",iIndex);
		printf("%s",pTemp->cName);
		printf("%d",&pTemp->iNumber);
		pTemp=pTemp->next;
		iIndex++;
	}
}

int main()
{
	struct Student *pHead;
	pHead=create();
	print(pHead);
	return 0;
}
链表有什么好学的,看看故事会,快活吃酒要紧。 
很简单的链表入手而已
18分
你用的是struct student;
可在很多地方你写成了struct Student;
改过来即可。
好了 我已经知道了
是课本太坑了
自己脑子又不好使 见笑了
引用 4 楼 zhangxiangDavaid 的回复:

你用的是struct student;
可在很多地方你写成了struct Student;
改过来即可。

见笑了啊

18分
呵呵,书上狠多也是错的,很正常,遇见错误,就问一下周围的高手,或者查查其他相关资料就好了
4分
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:

A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(理由:打字准确度偏低、粗心大意)
B初级程序员(理由:打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(理由:在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(理由:能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)

如果想从A变成B的话,到我的资源http://download.csdn.net/detail/zhao4zhong1/4084259里面下载“适合程序员的键盘练习”


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明初学链表 就出现这
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!