【发布时间】:2022-07-21 20:45:55
【问题描述】:
当你将数组传递给函数时,它是否不是为数组分配内存,而是为数组第一个元素的地址分配内存?
【问题讨论】:
-
您传递的数组衰减为指向其第一个元素的指针,所以是的。即使函数是
func(char arr[10])传递了一个指针,并且函数等效于func(char *arr) -
在声明时分配数组。在将数组作为函数参数传递时,没有额外的内存分配,正如@weather vane 所解释的那样,没有传递数组对象,只有一个指向第一个元素的指针。
标签: c