学习指针之前,要对计算机存储模块有基本了解,计算机中存储单位由小到大依次如下排列:
Bit *8---Byte (*1024)---KB (*1024)---MB---GB---......
其中,每一个Byte被赋予一个地址。
由此,我们可以派生出指针的定义:即为用于存放地址的变量。
B.指针类型的意义指针的类型依据其指向的变量而决定,常见的如int*,char*,float*,int* () []等等,不同的指针类型决定了指针的step有多长。
//eg: int* p = &a; p+1; //向前4个字节 char* p = &a; p+1; //向前2个字节C.野指针避免方法
野指针尝尝造成程序崩溃,指针指向不明内存。为此需要做到一下三点:
a. 创建指针务必初始化 (实在不知道时可以用 e.g.: int* p = NULL 占位)
b.杜绝越界访问(如访问是10元素数组时访问到第12个)
c.小心内存空间被释放时的函数间指针传递
好习惯代码示例:
int* ptr = xxxx; //初始化指针(以整形指针为例) if (ptr != 0) { //代码执行主体 } ptr = NULL;
(To be continue)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)