远指针,巨指针 实际上就是多维指针 0x3000
|
0x3000 |
|
|
Char *ptr=”hello world”; 0x3001
Sizeof(ptr);strlen(ptr); ptr 0x3002
ptr++ 0x3001
‚*ptr=’L’; 把e改成‘L’
遍历:
while(*ptr!=’\0’) ‚for(i=0;*(ptr+i)!=’\0’;i+1)
{ {
Prt++;
} }
随机指向一块内存的指针为野指针,野指针容易造成错误叫做内存泄漏
它不一定每次都会产生段错误,因为野指针获得地址有可能是已经申请过的地址
如何避免指针?
良好的编码习惯
当一个指针无初始化,指向“NULL”。
NULL是一个宏,代表0地址,不允许0地址赋值,不允许对0地址操作。
置NULL 不会对指针进行操作
‚这个指针暂时为野指针
当往一个指针指向空间赋值时,一定要给这个指针分配空间。
Malloc 分配空间 返回值是分配好空间的首地址
Int*p=malloc(sizeof(int)); int 分配一个整型的长度
当给一个指针分配空间时,检查分配空间是否成功
分配好空间后需要初始化 memset(p,o,sizeof(int)); 将P空间初始化为0
空间用完后释放 free(p)
释放后再次置空