gpt4 book ai didi

c - 如何检查数组的元素是否被占用? +1 更多

转载 作者:行者123 更新时间:2023-12-02 08:21:44 27 4
gpt4 key购买 nike

我有一个 char*[] 数组。我需要能够为其分配字符串并再次删除它们,但我不知道:

  1. 如何检查一个元素中是否已经有一个字符串,这样我就不会覆盖它,如果它已经被占用,则继续处理下一个元素?
  2. 之后如何将其再次释放?

如果有人需要更多信息,请告诉我,这是我第一次尝试使用 char * 数组。

最佳答案

将该数组的每个成员初始化为 NULL。然后,如果某个元素包含 NULL,您可以假设它没有被初始化。例如

char *charPtr[3] = { NULL, NULL, NULL };

要为某个元素分配不同的字符串,您只需为该元素重新分配一个新字符串即可。

   charPtr[0] = "new string";

如评论中所述,要删除字符串,您可以执行以下操作

charPtr[0] = NULL;

或者如下当且仅当 charPtr[0] 包含一个由 malloc 和 family 或类似 strdup 的函数获得的指针:

free(charPtr[0]); 
charPtr[0] = NULL;

关于c - 如何检查数组的元素是否被占用? +1 更多,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36646100/

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