gpt4 book ai didi

c - 我怎么知道数组中的元素是否存在?

转载 作者:太空宇宙 更新时间:2023-11-04 08:19:32 24 4
gpt4 key购买 nike

所以我的 C 程序中有一个数组

Node *array;
array = (Node*)malloc(53*sizeof(Node));

if(array[5] is empty)
//Fill array index with element

如何测试元素是否存在?我试过 if(array[5] == NULL) 但它一直给我一个错误。

最佳答案

I've tried if(array[5] == NULL) but it keeps giving me an error.

这行不通有两个原因:

  • malloc 不会初始化返回给您的程序的内存。您负责将内存设置为零,并且
  • Node 不是指针类型,所以不知道 Node 本身的结构就不知道 Node 是否有效

你可以切换到一个双指针Node **array,并像这样分配它:

array = (Node**)malloc(53*sizeof(Node*));
memset(array, 0, 53*sizeof(Node*));

但是,这意味着您必须将 array 作为指针数组,使用单个元素的 malloc 等等。

如果您想要一个Node 结构数组,请使用一个单独的标记数组来指示是否使用了特定元素。

关于c - 我怎么知道数组中的元素是否存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33989543/

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