C/C++结构体链表
2016-01-31 18:33
519 查看
这几天呢。在学习C语言,打算搞明白C的自定义头文件的,可是在运行头文件的时候却发生了错误,于是纠结于那个结构体,我搞了一天多的时间,总算把它搞明白了,下面上代码:
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++的代码是差不多的,做个笔记,嘻嘻
相关文章推荐
- C语言学习笔记 指针概述
- C++基本概念——const与基本类型和类、const与指针、const与引用
- POJ 2777指针
- Visual C++内存泄露检测—VLD工具使用说明
- C++ Rule of Three
- C++ 小程序
- C++编程小讲堂 第一章
- C++ 智能指针详解
- C++ 编程小讲堂 第二章
- C++ enum
- C++之pair与make_pair
- C/C++中constkeyword
- C++优先队列 合并果子
- HDU1712 分组背包
- POJ2349 (prim)
- 今天在学习C语言循环时遇到的问题
- 最短路径(floyd算法)
- Treap平衡树
- HUD1754 (完全二叉树)
- C语言最小生成树prim算法(USACO3.1)