C\C++中如何判断一个指针是否分配了空间?
如题,我的思路是用*取得指针所对应的空间是否为NULL,但是发现不同类型的变量还有结构体变量的结果各不相同。求解 这个经常用的既然这样,你首先初始化 指针的指向的地址为 NULL。这是必须的;
在用的过程中判断 指针的指向的地址是否为NULL即可。 本帖最后由 风扫地 于 2018-10-29 10:43 编辑
指针定义了不初始化就利用使用,野指针就出现了;
指针对应的空间已经被释放(动态空间被撤销,局部变量生命结束)而指针未被清NULL,悬空指针就出现了。
--------------------------------------------------------------------------------------------
回到楼楼的问题"C\C++中如何判断一个指针是否分配了空间? "
在做好了防野指针、防悬空指针以后就是判断指针是不是NULL:
是NULL,没有分配空间;
非NULL,分配了可用的安全的空间。 空指针不能解引用哦,会退出程序的。
只能自己小心一点 {:9_241:} 风扫地 发表于 2018-10-29 10:36
指针定义了不初始化就利用使用,野指针就出现了;
指针对应的空间已经被释放(动态空间被撤销,局部变量生 ...
会C++的,据说都是大神 ╰☆忝婲雨☆╮ 发表于 2018-10-29 11:40
会C++的,据说都是大神
{:5_104:}不是大神,没学过C++,他问的是C或者C++,我回答的是C语言里面的。
第一个条件满足自动短路了,C++可能有别的机制吧,只能留待真的大神回答了。
{:5_96:}
页:
[1]