指针的用法

#include<stdio.h>//两种作用效果一样的传值方式
void swap(int *a,int *b)/*这样传,传的是地址,地址的指向没变,只是改变了指向的值。(第一种传值)*/
{
int t;
t=*a;
*a=*b;
*b=t;
printf("a。b是地址:");//a b是地址
printf("%d %d\n",a,b);
}
void swp(int &a,int &b)/*这样传,a b传的是数值,地址的指向没变,也是改变了指向的值。(第二种传值)*/
{
int t;
t=a;
a=b;
b=t;
printf("%d   %d\n",a,b);//a b 是值
printf("%d   %d\n",&a,&b);
}


int main()
{
int a,b;
scanf("%d%d",&a,&b);
printf("a,b的地址为:");
printf("&a=%d     &b=%d\n",&a,&b);
printf("-------------------------------\n");
swap(&a,&b);//a b 的地址调用
printf("%d  %d\n",a,b);//看看a,b是否变化
printf("%d     %d\n",&a,&b);//地址是否变化
printf("-----------------------------------\n");
scanf("%d%d",&a,&b);
printf("a b的地址为:");
printf("&a=%d     &b=%d\n",&a,&b);
printf("-----------------------------------------\n");
swp(a,b);//看看a b的地址
printf("---------------------\n");
printf("%d  %d\n",a,b);
printf("%d     %d\n",&a,&b);
return 0;

}

两种传值,虽然作用一样,但是原理还是不太一样的,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值