
例1:中间变量达成数据交换
#includevoid SwapByValue(int*, int*);//定义的指针变量作为形参 int main() { int a = 3, b = 4; SwapByValue(&a, &b); printf("a=%d,b=%dn",a,b); return 0;} void SwapByValue(int *px, int *py) { int tmp; tmp = *px; *px = *py; *py = tmp;//在子函数中指针变量传递的是两个整形数据的地址 printf("*px=%d,*py=%dn", *px, *py); }
对比(传统方式):
#includevoid SwapByValue(int, int); int main() {int a = 3, b = 4; SwapByValue(a, b); printf("a=%d,b=%dn",a,b); return 0;} void SwapByValue(int x, int y) {int tmp; tmp = x; x = y; y = tmp; printf("x=%d,y=%dn", x, y);}
例2:简单计算
#includevoid calculate(int x, int y, int* sum, int* diff) { *sum = x + y; *diff = x - y; } int main() { int a = 3, b = 4; int sum, diff; calculate(a, b, &sum, &diff); printf("%d和%d的和是:%dn", a, b, sum); printf("%d和%d的差是:%dn", a, b, diff); return 0;}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)