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