函数
- 所有函数的参值都是按值传递
例1:
#include <stdio.h> void swap(int a,int b); void main(){ int a ,b ; a=1; b=2; swap(a,b); printf("%d,%d",a,b);//结果: 1,2 未改变 } void swap(int a ,int b){ int temp; temp=a; a=b; b=temp; }
例2:
#include <stdio.h> void swap(int *pa ,int *pb){ int *t; t=pa; pa=pb; pb=t; } void main(){ int a=10; int b=20; int *pa; int *pb; pa=&a; pb=&b; printf("%d,%d",*pa,*pb);//结果: 10,20 swap(pa,pb); printf("%d,%d",*pa,*pb);//结果: 10,20 未改变 }
作用域
外部变量或函数的作用域从其说明处开始一直到其所在的被编译的文件的末尾
局部变量与外部变量
局部变量:函数内部定义的变量
外部变量:函数外部定义的变量