子函数与主函数联系:
数组:数组在子函数中改变相应的值,主函数也会做出相应的改变
简单变量:如果是单纯的变量eg: int i=0在子函数改变,则主函数中相应的值并不会改变。
指针:指针指向的是地址,如果在子函数中改变,相当于直接到这个数所在的地址初改变了该变量的值,所以主函数中也会跟着变化。
地址符:对于返回值只能是一个的子函数,如果想让单纯的一个变量的值在子函数中改变,主函数也变,可以采用传参传到子函数中地址的方法进行改变
eg: 函数定义:double ClosestPoints(int psize,int **p,int &ind1,int &ind2)
使用: z=ClosestPoints(psize,p,ind1,ind2);
数组、普通变量的运行代码及运行截图:
int change(int data[][10],int i)
{
data[0][0]=1;
i=1;
cout<<"子函数:data[0][0]: "<<data[0][0]<<" i: "<<i<<endl;
return 0;
}
int main()
{
int i=10;
int data[10][10]={10,10,10,10,1010,10,101,10,10,10,10,1};
cout<<"first: data[0][0]: "<<data[0][0]<<" i: "<<i<<endl;
change(data,i);
cout<<"主函数:data[0][0]: "<<data[0][0]<<" i: "<<i<<endl;
return 0;
}