指针的加减和初步认识指针

指针加减数字,地址值需要调整,调整的权重为sizeof(指针去掉一个*)

p++

int *p1->加四个字节,sizeof(int)

char*p2->加一字节,sizeof(char)

指针+指针//非法

指针-指针//合法,间隔的单元格数,可正负。

1.求出间隔的字节数。

2.除以调整的权重。

Int *p=&arr[1]:x+4

int *q=&arr[9]x+36

printf("%d\n",p-q);    -8

double 4//.............32/8=4

即定义a为10,b为20,*p为a的地址,即指针p指向a的地址,然后对p进行解引用,即*p,改变a的值。

接下来我们来看看每一句都是什么意思。

int *p= &a;     //定义一个整型指针  p    并且p指向了a的地址     (&取地址)

*p=10;        //解引用, 即 给a赋值10;

p=&b;        // p指向了 b的地址

*p=200;     //解引用, 即 给b赋值200;

p=&a;      // p指向了a的地址

int **pp=&p;    // 定义一个整型的指针 pp   并且  pp 指向了 p的地址

*pp=&a;        // pp指向了p的地址  p指向了a的地址  即pp指向了a的地址

**pp=1000;     //解引用,即给a赋值1000;

*pp=&b;     //  pp指向了p的地址  p指向了b的地址  即pp指向了b的地址

 

 

**pp=2000;   //解引用, 即 给a赋值1000;

 

这里我们需要注意一下  在定义是*p  代表的是,定义一个指针,而其他的时间都是 解引用

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值