C/C++结构体链表

这几天呢。在学习C语言,打算搞明白C的自定义头文件的,可是在运行头文件的时候却发生了错误,于是纠结于那个结构体,我搞了一天多的时间,总算把它搞明白了,下面上代码:

C++:

#include <stdio.h>

typedef struct TelPhone{
            char Name[20];
            char TelNumber[20];
}iTem;

struct list{
                iTem item;
                list* next;//直接使用结构体名称
};

typedef struct list List;

void main()
{
	int i=0;
	iTem *item = new iTem;

	printf("你好,尊姓大名呢?\n");
	scanf("%s",item->Name);
	printf("%s\n",item->Name);
	printf("留下联系方式如何,嘻嘻\n");
	scanf("%s",item->TelNumber);
	printf("%s\n",item->TelNumber);

	List *list = new List;	//C++可以像其他面向对象语言一样随处声明变量
	list->item = *item;
	list->next = list;	//指向自己

	printf("%s\n",(*list).item.Name);

	for(;i<20;i++){
		(*list).next->item.Name[i]=65+i;
	}
	(*list).next->item.Name[19]='\0';

	printf("%s\n",(*list).next->item.Name);

}

C:

#include <stdio.h>
#include <stdlib.h>		//要有这个头文件才能用molloc()函数

typedef struct TelPhone{
            char Name[20];
            char TelNumber[20];
}iTem;

struct list{
                iTem item;
                struct list* next;//C的语法比较严格他需要加上struct关键字才能运行正常
				//我看的例子就是这个地方坑我的
};

typedef struct list	* List;

void main()
{
	int i=0;
	iTem item ;
	List list = (List)malloc(sizeof(List)) ;	//必须放在函数前声明,不然报错谁也帮你不了你了...

	printf("你好,尊姓大名呢?\n");
	scanf("%s",item.Name);
	printf("%s\n",item.Name);
	printf("留下联系方式如何,嘻嘻\n");
	scanf("%s",item.TelNumber);
	printf("%s\n",item.TelNumber);

	list->item = item;
	list->next = list ;		//指向自己

	printf("%s\n",(*list).item.Name);

	for(;i<20;i++)
	{
	list->next->item.Name[i]=65+i;
		
	}
	(*list).next->item.Name[19]='\0';

	printf("%s\n",(*list).next->item.Name);

}

可以看到C跟C++的代码是差不多的,做个笔记,嘻嘻

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值