c语言指针的用处,9、C语言 —— 指针的用处

1、用函数实现两个数的交换

‍‍在没用函数之前,可以这样实现‍‍

#include 

int main() {

int a = 3;

int b = 7;

int c;

printf("交换前,a=%d,b=%d\n", a, b);    // a=3,b=7

c = a;

a = b;

b = c;

printf("交换后,a=%d,b=%d\n", a, b);    // a=7,b=3

return 0;

}

‍‍但如果需要用到函数,以下交换是行不通的‍‍

#include 

void swap(int x, int y) {

int z;

z = x;

x = y;

y = z;

}

int main() {

int a = 3;

int b = 7;

printf("交换前,a=%d,b=%d\n", a, b);    // a=3,b=7

swap(a, b);

printf("交换后,a=%d,b=%d\n", a, b);    // a=3,b=7

return 0;

}

‍‍这时候指针就有用处了‍‍

#include 

void swap(int *x, int *y) {

int z;

z = *x;

*x = *y;

*y = z;

}

int main() {

int a = 3;

int b = 7;

printf("交换前,a=%d,b=%d\n", a, b);    // a=3,b=7

// 传入的是变量的地址

swap(&a, &b);

printf("交换后,a=%d,b=%d\n", a, b);    // a=7,b=3

return 0;

}

2、用一个函数实现并得出两个整型变量的和与差

#include 

int sum(int x, int y, int *poor) {

*poor = x - y;

return x + y;

}

int main() {

int a = 7;

int b = 3;

int s;

int p;

s = sum(a, b, &p);

printf("%d和%d的和是%d,差是%d\n", a, b, s, p);

// 7和3的和是10,差是4

return 0;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值