C 数组首地址对换

来源:百度知道 编辑:UC知道 时间:2024/06/30 10:54:06
#include<stdio.h>
void changeReference(int mylist[], int mylist2[])
{
mylist = mylist2;
}
void print(int mylist[],int arraySize)
{
int i;
for(i=0;i<arraySize;i++) printf("%d ",mylist[i]);
printf("\n");
}

int main (void)
{
int list[]={11,22,33,44,55};
int list2[]={99,99,99,99,99};
int arraySize=sizeof(list)/sizeof(int);

changeReference(list,list2);
printf("After change\n");
print(list,arraySize);

return 0;
}

我想把list的首地址换成list2的,也就是让list变成99,99,99,99,99

但是实际结果出来还是没有变的 高人解释下啊~~

数组名可以认为等价于一个指针,但和指针还是有区别的
它的地址是无法更改的

你的函数定义错误,这样不行的!
用指针可以!但你想要的这种结果有违..伦理道德 ..
哪有这样对数组赋值的。。。