C语言中怎么求二维数组的大小
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());}
3、从上面代码结果可以看到,该指针数组(二维数组)的长度确实是6,同时我打印的sizeof(str)的数值是24,表示有24个字节,因为char*所占的字节大小是4字节(32的编译器),一共有6个这样的大小,所以4*6=24。所以是24个字节。
4、计算该指针数组长度的时候发现有两种方式,表示的含义都是该数组的总大小除以每个数组中的数据占据的大小,得到该数组的长度,所以除数可以是(char*)或者str[0]。
声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:71
阅读量:40
阅读量:34
阅读量:24
阅读量:68