如果我有像char **行这样的指针数组,我该如何确定它的长度? 感谢
答案 0 :(得分:7)
你做不到。您必须手动跟踪数组的长度。
答案 1 :(得分:4)
你不能可靠。
有时,标记结尾的是空指针 - 它是有时使用的一种约定。更常见的是,你需要被告知长度。
但是没有确定长度的万无一失的方法。不知何故,你必须知道(或被告知)长度。
答案 2 :(得分:1)
这不是一个指针数组,它是一个指向指针的指针。
答案 3 :(得分:1)
这取决于数据。如果没有关联计数,则它可能是以NULL结尾的列表。
char** lines = mysteryfunction();
for ( ;*lines;lines++ ) {
printf( "%s\n", *list );
}
答案 4 :(得分:-1)
char *array[]={"welcome","to","India"};
length=sizeof(array)/sizeof(array[0]);
输出:
3
我们可以通过将 (指针大小除以单个大小)来划分长度
因为没有用于获取数组长度的预定义函数。