我要投搞

标签云

收藏小站

爱尚经典语录、名言、句子、散文、日志、唯美图片

当前位置:2019跑狗图高清彩图 > 指针 >

为指针p分配空间的方法

归档日期:07-08       文本归类:指针      文章编辑:爱尚语录

  “指针不能赋null值,如果初始化为null的话,指针就为空地址,指针将不能使用,就算在程序中重新给该指针赋值也没用了,因为指针指向了一块空的地址也可以理解为不存在的地址所以指针不能使用了。 ”

  您的意思是不能使用char *p = NULL;初始化了?但我可以用啊?

  那这里如果使用p = q了,就不用分配空间了?或者说分配空间是否必须?展开我来答

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  - 这不是初始化指针,是初始化指针指向的内存,sizeof(p)=4(32位平台),是错误的用法

  “指针不能赋null值,如果初始化为null的话,指针就为空地址,指针将不能使用,就算在程序中重新给该指针赋值也没用了,因为指针指向了一块空的地址也可以理解为不存在的地址所以指针不能使用了。 ”

  您的意思是不能使用char *p = NULL;初始化了?但我可以用啊?

  char *p = NULL;是可以当做初始化赋值的,这和直接定义指针不初始化唯一的区别就是

  定义为空指针做什么用呢?我研究了一下,一般指针经常需要被频繁的申请内存空间和释放,内存释放用函数free,但是这个函数不会对指针造成影响,也就是说指针依然指向了一个被释放掉的内存空间,但是该空间不存在了,所以成了野指针也就是没有初始化的状态,指针变成随便指向了一个内存空间。

  所以内存释放后需要做手动给指针赋null值的处理,让指针暂时指向一个空地址不会对程序造成错误。

本文链接:http://masterblue.net/zhizhen/314.html