demo11_数组实参很有意思的问题启发2.c
把数组名当做函数实参传递,到底传的是什么-数组首地址!


#include <stdio.h>
void changeData(int data[]){//操作一定是相同的内存空间,数组名当作实参,到底传了什么(地址)
data[0] = data[0] + 100;
printf("changeData-address: %p,dataInFunc = %d\n",&data[0],data[0]);
}
int main()
{
int data[2] = {10,20};
changeData(data);
printf("main-address: %p,data = %d\n",&data[0],data[0]);
}```
文章探讨了在C语言中,当数组名作为函数参数时,实际上是传递了数组的首地址。在函数内部对数据的修改会影响到原始数组,因为操作的是同一块内存空间。示例代码展示了这一现象。
118

被折叠的 条评论
为什么被折叠?



