【发布时间】:2019-11-06 07:58:38
【问题描述】:
您好,对于我的程序,我需要查找使用双字符指针存储的单词的长度,以创建一种二维数组。每当我尝试使用strlen 或sizeof(arr)/sizeof(arr[0]) 时,它都会返回大量数字,而不是每列存储的字符数(字符串的大小)。我认为这可能与空指针有关,但我不确定如果是这种情况,我将如何解决这个问题。
这是我用来尝试确定字符串大小的两行代码。第一个也迫使我重新启动我的终端,因为 ctrl+c 甚至不会停止它。当我打印它时,第二个只是返回一个非常大的数字。
int wordlength = sizeof(*(list+listPos))/sizeof(*(*(list+listPos)));
int wordlength = strlen(*(list+listPos));
【问题讨论】:
-
请尝试创建minimal reproducible example 向我们展示。
list是什么?什么是listPos?arr是什么?请注意,如果你有指针,那么指针的大小就是指针本身的大小,而不是它所指向的大小。
标签: c pointers multidimensional-array