我在尝试使用结构体数组
我首先定义了一个函数,在函数里面定义了结构体数组
Link* Init(int k){
Link funlinks[k];
for(int i=0;i<k;i++){
Link link;
link.data=i;
funlinks[i]=link;
}
Link*linksop=funlinks;
for(int i=0;i<k;i++){
Link funlink;
Link*funarr;
funarr=linksop+i;
funlink=*funarr;
printf("%d",funlink.data);
}
return linksop;
}
然后我就在main函数接收这个数组,同理在里面进行输出
Link* mainlinks;
int k=4;
mainlinks=Init(k);
for(int i=0;i<k;i++){
Link mainlink;
Link*mainarr;
mainarr=mainlinks+i;
mainlink=*mainarr;
printf("%d",mainlink.data);
但是我进行调试时竟然发现mainlink和funlink两个变量的地址相同,但是变量值不同
这是什么原因,如何解决呢?求各位大佬帮忙