大家好,今天小编关注到一个比较有意思的话题,就是关于c语言中数组名的问题,于是小编就整理了4个相关介绍c语言中数组名的解答,让我们一起看看吧。
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;这样才可以。
数组名是该数组首元素的地址吗,为什么?
数组名字本身就是一个指针,它是一个指针常量,的地址不变,数组名这个指针常量就指向了这块内存空间的首地址,而数组首元素就存在这段内存空间的首地址处,即这段内存空间的首地址跟数组首元素的内存地址是一样的
3均可作为数组名吗?
几乎在所有的地方,数组名都被当做指针常量来使用,只有两个地方例外。
1) 作为sizeof操作符的操作数, 表示的是整个数组,所以获取的是整个数组的长度。而不是常量指针的长度。
2) 作为&操作符的操作数,表示的也是整个数组,所以得到的是指向数组的指针。
到此,以上就是小编对于c语言中数组名的问题就介绍到这了,希望介绍关于c语言中数组名的4点解答对大家有用。