C语言中怎么求二维数组的大小

2025-05-05 19:58:02

1、咱们先看一个例子,你能一口就说出来该二维数组的长度吗?char* str[]={"hello","world媪青怍牙","!I","am","your","friend."};大部分一看脱口而出是6,那怎么让计算机来数呢?现在就跟小编一起来看看吧,分析分析这个里面的逻辑。

2、源代码://计算数组的大小int len_of_arr(){ char *str[]={"茑霁酌绡hello","world","!I","am","your","friend."}; printf("%d\n",sizeof(str)); return sizeof(str)/sizeof(str[0]); //另一种方式 //return sizeof(str)/sizeof(char*)}//mainnt main(void){ //char *str[]={"hello","world","!I","am","your","friend."}; printf("该数组的大小是%d\n",len_of_arr());}

C语言中怎么求二维数组的大小

3、从上面代码结果可以看到,该指针数组(二维数组)的长度确实是6,同时我打印的sizeof(str)的数值是24,表示有24个字节,因为char*所占的字节大小是4字节(32的编译器),一共有6个这样的大小,所以4*6=24。所以是24个字节。

4、计算该指针数组长度的时候发现有两种方式,表示的含义都是该数组的总大小除以每个数组中的数据占据的大小,得到该数组的长度,所以除数可以是(char*)或者str[0]。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢