有没有办法检查指针是否已初始化?我有一个结构指针的结构
typedef struct foo
{
int* ptr1;
int* ptr2;
int* ptr2;
...
int* ptr100;
}
然后我的代码将地址分配给那些指针(内部循环)。但在分配地址之前,我想检查指针是否已包含地址。我知道我可以使用NULL
初始化每个指针,然后用以下方法检查:
if(ptr1 == NULL)
do something
但有没有办法写一些类似但没有初始化ptr
?
答案 0 :(得分:16)
未初始化的变量可以包含任何值。因此,无法确定变量是否未初始化,因为它看起来就像已经初始化的变量。确保变量初始化的唯一方法是显式写入一个值(例如,NULL
),如您在问题中已经提到的那样。
答案 1 :(得分:1)