有没有办法检查指针是否已初始化?我有一个包含指针数组的结构
typedef struct foo
{
int* ptr1;
int* ptr2;
int* ptr2;
...
int* ptr100;
}
然后我的代码将地址分配给那些指针(内部循环)。但是在分配地址之前我想检查指针是否已经包含地址。我知道我可以使用 NULL
初始化每个指针,然后使用以下命令检查:
if(ptr1 == NULL)
do something
但是有没有办法写一些类似的东西但是没有初始化ptr
?
最佳答案
未初始化的变量可以包含任何值。因此,不可能查明一个变量是否未初始化,因为它看起来就像一个已经初始化的变量。确保变量已初始化的唯一方法是明确地向其写入一个值(例如,NULL
),正如您在问题中已经指出的那样。
关于c - 检查指针是否已初始化的最佳方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35827086/