- #include <stdio.h>
- int sum(int num1,int num2)
- {
- num1=30; //如果是基本数据类型作为函数参数,纯粹是值传递,修改函数内部形参的值,并不会影响外面实参的值
- return num1+num2;
- }
- int sum1(int *p1,int *p2)
- {
- *p1=11;//这里是指针作为函数参数,是地址传递,修改指针指向的地址的参数的值,,会改变外面的实参的值
- return *p1 + *p2;
- }
- int main(int argc, const char * argv[]) {
- int a=1;
- int b=2;
- int c=sum(a,b);
- printf("%d %d %d\n",a,b,c);
- int *p;
- p= &a;
- int *p1;
- p1= &b;
- int c2 = sum1(p, p1);
- printf("%d %d %d\n",a,b,c2);
- return 0;
- }
复制代码 |