一段程序显示你对指针,数据结构定义的了解的程度
2012-03-05 15:22
309 查看
大家知道,C语言中指针能够直接访问内存和操作底层的数据了,虽然有点复杂,但是指针给程序来了很高的效率,下面这段程序充分展现了你对指针的了解程度。
上面的对指针的理解,你了解了多少呢?
typedef int datatype; typedef struct node { datatype data; struct node *next; }ListNode,LinkList;//定义一个链表结构,Linklist指向链表head指针 ListNode *p = NULL;//声明变量应该先初始化,尤其是指针 p = (ListNode *)malloc(sizeof(node));//内存分配 if(p == NULL)//检测内存分配失败情况,考查程序健壮性 { //return err; } memset(p,0,sizeof(ListNode));//新分配的内存应该初始化,避免内存中含有垃圾信息 p->data = 100; print("%d\n",p->data); ListNode *q = p;// q+=1;//指针的加减运算,注意,+1是表示向前移动了sizeof(ListNode)个字节 free(p);//释放内存,避免内存泄漏 p = NULL; //释放内存后,将指针置为NULL,防止野指针
上面的对指针的理解,你了解了多少呢?
相关文章推荐
- 【深入了解cocos2d-x 3.x】内置数据结构(1)——智能指针
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30
- C++文本查询程序 定义类管理数据 用引用共享数据 不用智能指针 C++Primer练习12.27
- 第九周【项目1】在第8周项1的基础上(1)再定义一目运算符 -,-c相当于0-c(2)定义Complex类中的<<和>>运算符的重载,实现输入和输出,改造原程序中对运算结果显示方式,使程序读起来更自然
- C++文本查询程序 定义类管理数据 用引用共享数据 不用智能指针 C++Primer练习12.27
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30
- C++文本查询程序 定义类管理数据 用智能指针 用StrBlob代替vector<string> C++Primer 练习12.32
- 转:定义一个数组days,将其初始化今年每月的天数,编写一段程序,将每月的天数打印出来, 分类: c语言经典题
- 【c++程序】通过指针修改定义的数值
- 你真的了解一段Java程序的生命史吗
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30
- C++文本查询程序 定义类管理数据 用引用共享数据 不用智能指针 C++Primer练习12.27
- 第九周实验报告任务3 定义分数类中<<和>>运算符重载,实现分数的输入输出,改造原程序中对运算结果显示方式,使程序读起来更自然。
- 你真的了解一段Java程序的生命史吗
- C++文本查询程序 定义类管理数据 用引用共享数据 不用智能指针 C++Primer练习12.27
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30
- C++文本查询程序 定义类管理数据 用智能指针 用StrBlob代替vector<string> C++Primer 练习12.32
- 读几个小程序了解c++:Part 01(构造函数、析构函数、指针、静态数据成员)
- 一段简单程序从汇编看C指针
- C++文本查询程序 定义类管理数据 用智能指针 C++Primer练习12.30