简单数据交换Demo:
#include<stdio.h> main() { int i=3; int j= 5; int temp ; temp = i; i = j; j = temp; printf("i = %d\n",i); printf("j = %d\n",j); system("pause"); } //能正确交换 //修改一 void swap(int i,int j) { int temp ; temp = i; i = j; j = temp; } void swap2(int* i,int* j) { int temp; temp = *i; *i = *j; *j = temp; } main() { int i=3; int j= 5; swap(i,j);//无法正确交换 // swap2(&i,&j);//能正确交换 printf("i = %d\n",i); printf("j = %d\n",j); system("pause"); } /* 如果想在子函数中修改主函数的内容: 1.在主函数里面要获取修改内容的地址 2.把地址传递给子函数 3.子函数中修改地址所指向的变量 */ //说明:在java中是没有引用传递
简单说明c语言中子函数与主函数之间的关系。