c - 检查指针是否在指针数组的索引中

标签 c arrays pointers malloc

我想知道是否有一种方法可以检查指针数组中是否存储了一个指针。例如,我怎么知道我将指针存储在索引0而不是索引1中?

char *ptr[50];
char *pptr;
pptr = (char *)malloc(sizeof(char) * 1);
ptr[0] = pptr;


最佳答案

ptr应该是char **。您可以使用memset为数组提供默认值,然后进行检查。

char *ptr[50];
memset (ptr, NULL, 50) ;
char *pptr;
pptr = (char*)malloc(sizeof(char) *1);
ptr[0] = pptr;
if (ptr[0] == NULL)
  //ptr[0] has not received a value.
else
  //ptr[0] has a value.

关于c - 检查指针是否在指针数组的索引中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58329486/

相关文章:

c++ - 指针模板数组 C++?

c - 行尾(GNU 文档)

javascript - 返回数组中最大值的索引

java - 如何将ArrayList转换为Array

c - 这种排序方法是如何工作的?

c - 为什么 printf() 允许这个 double 通过指针传递?

C 程序因指针赋值而崩溃

mysql - C语言新手的RDMS?

C : Function to read a file to a singly linked list and return head pointer?

c# - 将 String.Split() 的结果放入 ArrayList 或 Stack