C语言之指针详解

指针 &:操作符产生它的操作数的地址。
如: int a, *b (*b:指向整形变量的指针)
    ....
    b = &a; (&操作符取变量a的地址,并把它赋值给指针变量)
*操作符是间接访问操作符,它与指针一起使用,用于访问指针所指向的值。 在前面赋值操作完成之后。表达式b的值是变量a的地址, 表达式*b的值是变量a的值。
int a = 112, b = -1;
float c = 3.14;
int   *d = &a;
float *e = &c;
输出:
a = 112, b = -1 c = 3.14 d = 100 e = 108 *d = 112 *e = 3.14
表达式 右值 类型
a 112 int
b -1 int
c 3.14 float
d 100 int* (100:a 的地址)
e 108 float* (108:c 的地址)
*d 112 int
*e 3.14  float
指针、间接访问和变量:
*&a = 25;
答案:它把值24赋值给变量a
分析:首先,&操作符产生变量a的地址,它是一个指针常量。接着,*操作符访问其操作所表示的地址。
间接访问操作只能作用于指针类型的表达式
指针的指针: int a = 12;
int *b = &a;
int **c = &b;

*操作符具有从右向左的结合性,所以表达式相当于*(*c),*c访问c所指向的位置。 间接访问操作只能作用于
        表达式    相当的表达式
a         12
b         &a

*b        a,12
c         &b

*c        b, &a

**c       *b, a, 12

指针表达式:

    

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

殷忆枫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值