我想知道数组的高度是什么
main(){
int a;
char array[10][10]={
"45",
"34",
"23",
"12",
};
a=strlen(array);
printf("%d",a);
}
但是当我使用strlen
时,它仅显示第一行的长度,但是我想知道如何获取该数组中的多少行。
预先感谢。
答案 0 :(得分:3)
查找数组大小的通用方法是sizeof array / sizeof *array
。在您的情况下,这将给出项目数10。
如果您想知道十个有效字符串中有多少个,则应使用""
之类的前哨值:
char array[10][10]={
"45",
"34",
"23",
"12",
"",
};
// search for used size of the array
size_t i;
for (i=0; i<10; i++)
{
if(strcmp(array[i], "")==0)
break;
}
// here i contains the used size
(不过,通常您希望有一个数组char* strings[n]
,其中每个单独的读/写字符串可以通过动态分配而具有可变长度。在这种情况下,您将使用NULL作为前哨值。)>
答案 1 :(得分:2)
解决方案1:
具有一个可以为您存储该数据的int值,以便可以在任何地方轻松访问它们。
解决方案2:
编写一个计算行数的函数,如下所示:
int CountRows(array)
{
int counter = 0;
while(elementOfArray)
{
counter++;
}
return counter;
}