c语言中数组名,c语言中数组名代表

kodinid 11 0

大家好,今天小编关注到一个比较意思的话题,就是关于c语言数组名的问题,于是小编就整理了4个相关介绍c语言中数组名的解答,让我们一起看看吧。

  1. c语言函数的形参为指针变量时,对应的实参可以是数组名。怎么理解呀?
  2. C语言中二维数组名能否直接赋给指针变量?
  3. 数组名是该数组首元素的地址吗,为什么?
  4. 3均可作为数组名吗?

c语言函数形参指针变量时,对应的实参可以是数组名。怎么理解呀?

举例:voidf(int*p){}intarr[]={1,2,3};因为函数f的形参是一个类型为int的指针变量,所以调用f时,可以将数组名arr作为实参传给形参p。即可以这样调用:f(arr);

C语言中二维数组名能否直接赋给指针变量?

二维数组的指针与指针的指针是不一样的。所以int **ppr;int fool[2][3];ppr = fool;这样是不行的。二维数组的指针必须限定第一维大小。所以:int (*ppr)[3];ppr = fool;这样才可以。

c语言中数组名,c语言中数组名代表-第1张图片-安济编程网
图片来源网络,侵删)

数组名是该数组首元素地址吗,为什么

数组名字本身就是一个指针,它是一个指针常量,的地址不变,数组名这个指针常量就指向了这块内存空间的首地址,而数组首元素就存在这段内存空间的首地址处,即这段内存空间的首地址跟数组首元素的内存地址是一样的

3均可作为数组名吗?

几乎在所有的地方,数组名都被当做指针常量来使用,只有两个地方例外。

1) 作为sizeof操作符的操作数, 表示的是整个数组,所以获取的是整个数组的长度。而不是常量指针的长度。

c语言中数组名,c语言中数组名代表-第2张图片-安济编程网
(图片来源网络,侵删)

2) 作为&操作符的操作数,表示的也是整个数组,所以得到的是指向数组的指针。

到此,以上就是小编对于c语言中数组名的问题就介绍到这了,希望介绍关于c语言中数组名的4点解答对大家有用。

c语言中数组名,c语言中数组名代表-第3张图片-安济编程网
(图片来源网络,侵删)

标签: 数组 指针 二维