c语言中*的声明作用与取值作用

举个例子:
#include<stdio.h>
int ff(int *p){
int a=p;
int b=a;
// …
}
int main(){
int b=3;
ff(&b);
// …
}
这是一个伪函数,主要用来说明调用函数的指针传参 p,根据调用参数的声明,我们知道这个传参指针为一个整型指针传参,也就是说p主要用于传输地址用的。
你在看这里的时候或许会对这个“
”感到特别迷惑,给你大概解释一下:“int a”中的“”是表示声明的a是一个整型指针变量,传参p中的“
”也是这样的,只不过他们一个是传参,一个是局部变量罢了。接下来的“int b=a”中的“”则是取值的意思了,意思就是取出指针变量a中的值,好的!那么这个a中的值是多少呢?从主函数开始看:主函数中定义一个局部的整数型变量b,这里b被赋值为3,通过调用子函数“ff(&b)”来看,“&b”则表示取了b的地址。好!这是“&”的作用。接下来子函数ff就把b的地址传给了指针传参p。最后举个小例子:快递员B从快递员A的手中接到了快递并送给你。快递员只需要传送快递——“&(取地址)”而不需要拆开快递看看里边是啥,当你收到快递后打开快递——“
(取值)”后拿出东西使用。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值