gpt4 book ai didi

c - 指针数组中的未初始化或 NULL 指针

转载 作者:太空宇宙 更新时间:2023-11-04 07:16:57 25 4
gpt4 key购买 nike

我有一个指向结构的指针数组。

struct key {          
int *data;
};

struct key *entry = NULL;
entry = malloc(sizeof(entry));

重新分配了一些时间:

node = realloc(node, (length+1)*sizeof(node[0]));
node[length].data = some_int;

在我程序的另一部分,我想遍历它。我不知道它现在包含多少元素。

for (i=0; &(node[i]) != NULL; i++)
length = i;

但是我有无限循环。因为:

(gdb) p node[i]
$1 = {data = 0x0}

它看起来像是一个未初始化的值,但它不是NULL 指针。

如何判断数组结束?

为什么它不是NULL指针?

最佳答案

&(node[i]) 获取 node[i] 的地址。

所以

&(node[i]) != NULL

将始终为真,因为 的地址 node[i]始终 不同于 NULL .

关于c - 指针数组中的未初始化或 NULL 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23855054/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com