1.&数组名作参数传递肯定是不对的,你看一下C语言书中关于数组作参数就知道了(里面例子也能反应)
2.&数组名相当于指针的指针,指向数组名,而数组名又是一个数组的首地址,求sizeof结果是一下的,返回的都是数组的大小
3.&符号有去地址的作用,而数组名本身也是一个地址,它指向的数组的第一行。&数组指向的数组名,是指针的指针。所以才会有:&数组名类型是 int (*)[],而数组类型是int []
是不同的,原因你已经在1里的提示说了,sizeof(指针)的时候,会把指针指向的内容的大小作为返回值,&数组名是一个指向数组的指针,返回的就是其指向的数组的大小,所以是相等的。你可以把数组名和函数名当成一种const类型的指针来理解。
1.&数组名=数组名(值相等,但是类型不一样)
2.都是指针
3.同1,2
http://blog.csdn.net/maybelle0049/archive/2010/06/22/5687845.aspx
把int[] 看作 int*
1. &array: int**
array: int*
2. 都是指针
3. 未见过&fun的用法
谢谢楼主,我也被这个问题迷惑,原来是这样啊