指针的加法

站在设立者的角度上指针的加法有可能设立的三种意义:
1.指针加1,可以代表加1个字节
2.指针加1,可以代表加整个数组
3.指针加1,可以代表加1个单元格

仔细思考第二条,如果指针加1,代表着加一个数组,那么当你想用指针里面的某个值时,加法并没有意义。*
所以第二种方法明显不可取。*

回过头再思考第一条,在32位平台上指针占4个字节,如果
intp=arr[10];一个单元格占四个字节,指针加一代表加一个字节的话,如果实现p=10;p++;*p=20;printf("%d,%d\n",arr[0],arr[1]);指针初始在arr[0]上。将其置为10,指针加1,置为20,如果按照方法一,arr[0]=5130;arr[1]=0
要将10存入计算机中,必须以十六进制存入其中,即0000000a;要将20存入,则为00000014;
pc为小端故为低地址,小数据
在这里插入图片描述所以arr[0]=0000140a=5130;arr[1]=0;
所以如果这样设计的话只是指针加1,就变化如此之大,故不可取。
由图可知,加一个单元格相对来说是最简捷适用的。
指针可以加数字,指针可以减数字,指针可以减指针,在但是指针不可以加指针(类似于日期)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值