C语言指针【笔记】

C语言指针【笔记】

指针变量

指针变量: 本身也是一个变量,用来存储在内存中的地址。
普通变量: 本身也是一个变量,用来存储数据本身的值。

定义

因为C语言是一种相对自由形式的语言,相信你在一些指针代码中可以看到下面两种定义,其实他们是等价的。第二种定义是不是看起来更舒服,更能理解指针的含义呢。其实可以看成一个指针变量pb,他的指针类型是int*。

int *pb;

等价于

int* pb;

但是下面这种看似很舒服的定义在下面这种情况可能会引起另一个误解。下面是这种案例

int* pa, pb, pc;

等价于

int pb, pc, *pa;

等价于

int *pa;
int pb, pc;

现在可以理解定义了吗,如果还是一头雾水,不妨结合下面例子 去理解。

int pa = 10;
int *pb = &pa;
printf("value pa = %d\n", pa);
printf("value *pb = %d\n", *pb);
printf("value &pa = %d\n", &pa);
printf("value pb = %d\n", pb);
printf("value &pb = %d\n", &pb);
printf("value *&pb = %d\n", *&pb);

输出

value pa = 10
value *pb = 10
value &pa = 651283788
value pb = 651283788
value &pb = 651283776
value *&pb = 651283788

我们可以看到*pbpa 是等价的,pb&pa&*pb是等价的。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值