#include
int main()
{
char str[][6] = {"abcd", "ABC", "abc"};
printf("str行内元素%d\n", sizeof(*str));//这个会显示出二维数组中每个行的元素个数 (这里是指可容纳的个数)
printf("str总%d\n", sizeof(str));//这个会显示出二维数组中元素的个数(这里是指可容纳的个数)
//其实就是利用了sizeof函数来判断 我们都知道sizeof()用来判断一个类型所占用的字节数的
//所以:你问‘C语言二维字符串数组的行数怎么求啊?’ 你应该是说在定义数组时候没有显示的写出行数,可是此时需要求出行数是吧?
//那么 行数 = 可容纳元素总数(这里是指可容纳的个数) / 行中元素个数(这里是指可容纳的个数)
printf("行数=%d\n", sizeof(str)/sizeof(*str));
return 0;
}
就是考你对二维数组的理解了,别忘了 数组也是c的数据类型之一哦。
只要是数据类型就可以用sizeof判断 其类型占用的内存字节数。
正好c的字符就是占用一个字节啊,所以sizeof返回的字节数=字符个数。
^_^!