Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 如何检查数组元素中是否存储了内容_C_Arrays_Multidimensional Array - Fatal编程技术网

C 如何检查数组元素中是否存储了内容

C 如何检查数组元素中是否存储了内容,c,arrays,multidimensional-array,C,Arrays,Multidimensional Array,我想提出一个条件,看看是否有比空数组更重要的东西 char data[12][100]; int i; int sum = 12; for (i = 0; i <= sum; i++) { printf("Hello \n"); printf("%d \n", sizeof(data[sum][0])); if(data[sum][0] != NULL){ return 0; // code fillin data[][] + some printfs

我想提出一个条件,看看是否有比空数组更重要的东西

char data[12][100];
int i;
int sum = 12;
for (i = 0; i <= sum; i++)
{
   printf("Hello \n");
   printf("%d \n", sizeof(data[sum][0]));
   if(data[sum][0] != NULL){
      return 0;
   // code fillin data[][] + some printfs
}
预期:

Hello 
1 
// Some other printfs

数组始终包含值,因此您必须知道要在数组中显示的值,以便在这种情况下使用这些值作为您所说的“空”值。

sizeof()是编译时操作,而不是运行时操作。在您的场景中,它总是返回1。我假设:D,重点是我想检查数组部分是空的还是空的no@StyleZ数组不能为空。它可以是未初始化的(您无法检查),也可以包含值。根据您使用数组的方式,您可以选择某个值作为应用程序的“空”值。例如,对于
char
,您可以选择
\0
。请注意,在读取数组之前,确实需要初始化数组。您无法确定任何给定字符是否为“空”;它始终包含一个值,该值可能是已知的,也可能是未知的和确定的。请注意,在许多系统上,
if(data[sum][0]!=NULL)
将生成关于比较指针与整数的警告。对空字节使用
'\0'
Hello 
1 
// Some other printfs