链表与指向指针的指针应用
来源:互联网 发布:数据库系统原理教程 编辑:程序博客网 时间:2024/05/18 01:00
示例代码如下,假设单链表如下:
typedef struct Node{ ElemType data; Node *next;}Node;typedef struct Node *LNodelist;
现需要初始化链表头结点,设函数为:
void create(Node *list){ list = (Node *)malloc(sizeof(Node)); if (NULL == list) { ……; } return;}
以上函数为经典常犯错误,今天还犯了以上错误。通过对以上函数当在下面main函数中调用时,简单情况下不会发生编译错误,但是运行结果却会发现调用create(first)函数后,并未对头结点进行了初始化分配了空间,仍然为NULL。
int main(void){ Node *first = NULL; create(first); return 0;}
针对以上问题,可以做如下解决,引入指向指针的指针:void create(Node **list){ Node *p = NULL; p = (Node *)malloc(sizeof(Node)); if (NULL ==p) { ……; } *list = p;}主函数中调用相应改为:
int main(void){ Node *first = NULL; create(&first); return 0;}或者还可以改为:Node *create(){ Node *p = Null; p = (Node *)malloc(sizeof(Node)); if(p == NULL) {……} return p;}main函数调用为:int main(void){ Node *first = NULL; first = create(); return 0;}
- 链表与指向指针的指针应用
- 指向指针的指针与指针数组
- 指针数组与指向指针的指针
- 指针数组 与 指向指针的指针
- 指针数组与指向指针的指针
- 指向指针的指针与指针数组
- 指向指针的指针的应用
- 指向指针的指针变量的应用
- C++指向结构体变量的指针与链表结构的关系应用
- acm--指向指针的指针应用
- 指针的指针与指向指针数组的指针
- 指向常量的指针 与 常量指针
- 指针与常量,指向常量的指针
- 指向常量的指针与指针常量
- 常量指针与指向常量的指针
- 常指针与指向常量的指针
- 单链表与指向指针的指针
- 常量指针与指向常量的指针
- 十年学会程序设计
- CPPUNIT基本原理
- 选择排序
- spring Quartz 定时任务
- Perl学习开篇
- 链表与指向指针的指针应用
- 我们生活在春秋
- 通讯录的uri
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- Linux下常用的故障排查命令行
- ubuntu 12.04 x64 开启 root 登录,并解决root用户后没有声音的问题
- break return continue 区别
- 第17周任务1(二进制文件的操作)
- 生活角度学习数据库