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

 时间:2026-04-21 16:38:24

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*)

 }

//main

nt 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]。

  • C语言中的基本数据类型
  • c语言中空格字符怎么表示
  • c语言输出用空格隔开
  • 在c语言中如何计算字符串的长度?
  • a和A对应的ASCII码数值分别是多少啊
  • 热门搜索
    来电闪光灯怎么设置 怎么算排卵期最准确 护发素怎么用 舍利子是怎么形成的 电脑太慢太卡怎么办 连衣裙用英语怎么说 水的笔顺怎么写 六一儿童节怎么过 秦桧怎么死的 else怎么读