通过数组名获取数组在内存中的首地址
来源:6-1 数组基础【C语言设计哲学】

慕运维7540708
2022-10-18
老师好,抱歉打扰啦~
请问,当在main函数中计算整个数组在内存中的长度时,可以用sizeof(arr)来求取;在获取数组在内存中的首地址时,也可以直接通过arr来获得,那么:
当我们将冒泡排序算法写成一个函数Sort(int arr[ ], int length)时,此处的length为什么不能通过如下方式获得呢?
是由于此处的arr已经表示首地址,所以和arr[0]相等吗
那么为什么在main函数中可以用 sizeof(arr)/sizeof(arr[0])来计算数组长度呢
希望老师百忙之中能抽空解答,非常感谢!
写回答
1回答
-
bennyhuo
2022-10-18
函数参数里面的数组名实际上是个指针,不是真的数组名,所以无法sizeof拿到大小哈。这个我应该在数组作为函数参数的地方有讲到过012022-10-18
相似问题