c - 获取char数组的高度
问题描述
我想知道数组的高度是多少:
main(){
int a;
char array[10][10]={
"45",
"34",
"23",
"12",
};
a=strlen(array);
printf("%d",a);
}
但是当我使用strlen
它时,它只显示第一行的长度,但我想知道如何获取该数组中有多少行。提前致谢。
解决方案
查找数组大小的通用方法是sizeof array / sizeof *array
. 这给出了项目的数量,在你的情况下是 10。
如果您想知道 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 作为标记值。)
推荐阅读
- json - 如何在 PostgreSQL 中导入 JSON 文件:COPY 1
- swift - NSGridView 自定义视图固有大小
- unity3d - 如何在不使用 Collision 的情况下关闭 Cinemachine Impulse 源?
- android-camera2 - Camera2 直播示例
- html - 围绕浮动的左 div 垂直对齐 div
- r - 为什么函数不创建新数据集?
- python - 查找列表中的最大绝对值
- c++ - 浮点 log() * y 转整数
- python - 如何将在函数内创建的列表分配给数据框列
- javascript - Webpack 构建在 node_modules 而不是我的代码上显示 TS 错误