指针 +- 数字究竟代表着什么?
C语言:同样是腰椎间,为何指针你如此突出?
指针:因为我优秀啊,哈哈哈…
how old are 指针(怎么老是指针啊),为何指针总能带来这么多的争议?
话不多说,先看代码:
int main()
{int arr[10] = {1,2,3};int *p = arr;//p++;p = (int *)((int)p+1);*p = 10;printf("%d,%d\n",arr[0],arr[1]);return 0;
}
这段代码里就包含了一个重要的知识:指针+1;
我们来分析一下指针+1在分配地址时会出现什么情况:
1、加一个字节;
2、加一个单元格;
3、加一个数组。
目前我们能想到的也就这么多了,下面一个一个来分析其可能性:
(1)首先是3、加一个数组,也就是指针直接从arr[0]->arr[9],而我们的目的是将arr[1]通过指针+1然后解引用变成10,直接加一个数组好像并不能实现这个功能。
所以我们pass掉这个选项:
1、加一个字节;
2、加一个单元格;
3、加一个数组。
(2)接下来我们看看一次加一个字节:
整型数组的一个字节是4,我们假设指针++之后是加一个字节,那么我们把地址放大之后:
因为在数组中每个地址的值都是按pc小端存放,所以底地址放小数据,放完之后的样子如下:
而此时arr[0]=0xa01;arr[1]=0x0;
转成十进制的结果就是 2561,0;
所以加一个字节也是不可以的
1、加一个字节;
2、加一个单元格;
3、加一个数组。
所以我们只能选择最后一种情况:加一个单元格
这样确实就可实现了指针+1的能力,所以总结一下:
指针+数字,地址需要调整,调整的权重为:sizeof(指针去掉一个*)
看了上面的内容,有没有小伙伴想到,既然指针可以可以±数字,那指针可以±指针吗?先留一点悬念,我们下期再见
指针 +- 数字究竟代表着什么?相关推荐
- Andorid AlertDialog 点击后自动消失_为何孙悟空成佛后,金箍儿就会自动消失?金箍儿究竟代表什么...
题:孙悟空在成佛后,变化有多大?你看唐僧怎么说? 文/姜子说书 <西游记>故事里,唐僧是个志诚君子,铁打的心肠朝佛去,并不是什么酒色凡夫,所以,他才能经得起西天路上无数女妖精的诱惑. 然而 ...
- 程序人生 - 猫咪冷知识!猫咪“呼噜呼噜”声究竟代表什么?
猫咪,包括所有的猫科动物,它们的习性都非常相似.猫咪有一个习惯,就是总是会时不时地就发出"呼噜呼噜"的声音.这种声音的频率和音调其实蛮有催眠效果的,反正八酱听到猫咪在身边发出这样的 ...
- 番外篇:STM32之GPIO口速率配置究竟代表什么
番外篇:STM32之GPIO口速率配置究竟代表什么 用过STM32的童鞋们都知道,STM32在GPIO配置时都需要选择一个GPIO速率,对于STM32F103系列芯片来说最快的配置应该是50Mhz左右 ...
- SIM卡背面的20位数字所代表的含义是什么
http://blog.csdn.net/berryreload/article/details/7945626 http://wenku.baidu.com/link?url=aNSaw03hZEf ...
- python统计字符串中数字个数 socket_Python中socket中的listen()里参数(数字)到底代表什么?...
在调用socket的时候,我们会使用到listen()函数,里面有个参数叫backlog, 例如:socket.listen(5). 那么这个数字5到底代表什么意思呢? 解答 下面使用具体的代码片段来 ...
- 代表什么_“缶”究竟代表着什么?
相信大家都还记得2008年8月8日晚上8点,一首气势恢弘的"击缶而歌",带着华夏礼乐的传承,带着炎黄子孙百年的梦想和期盼,奏响了第29届北京奥运会开幕式的序曲."击缶而歌 ...
- 谷爱凌拿到第三金,1620这串数字到底代表什么意思?
不会吧不会吧,不会还有人不知道谷爱凌在自由式滑雪大跳台决赛上完成神奇逆转,为中国队夺下第三枚金牌吧!这是她获得的首个冬奥会奖牌,期待天才少女后面的表现! 不过随着夺冠的相关热搜齐齐上榜,还有一串数字& ...
- 完数什么意思_苹果序列号字母和数字都代表什么含义 iPhone的序列号字母与数字含义...
序列号是苹果为了标识自己的设备而跟IMEI对应起来的数字,而且是唯一对应的!有一些网站查询IMEI码就可以查出对应的序列号,这也是鉴别某些妖机的一个衡量标准.其实iphone序列号的字母和数字都有意义 ...
- 完数什么意思_完数什么意思_苹果序列号字母和数字都代表什么含义 iPhone的序列号字母与数字含义......
序列号是苹果为了标识自己的设备而跟IMEI对应起来的数字,而且是唯一对应的!有一些网站查询IMEI码就可以查出对应的序列号,这也是鉴别某些妖机的一个衡量标准.其实iphone序列号的字母和数字都有意义 ...
最新文章
- WeifenLuo.WinFormsUI.Docking
- Windows日志及其保护
- window系统 telnet报错:‘telnet‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。
- 以 OSGi 包的形式开发和部署 Web 服务
- GitHub 建立远程仓库
- python画图程序没有图_python画图 - v0
- rabbitmq启动失败-报Failed to load advanced configuration file解决方法
- 文件的 MD5 签名介绍
- 技术在于精,其次在于多
- C语言为什么要尽量少用全局变量
- Ubuntu18.04连蓝牙键盘后,搜狗输入法导致输入卡顿问题
- ACCESS入门教程(五)数据的类型和属性
- DIY自己的ubuntu镜像
- Android性能专项测试之Batterystats
- 第12届蓝桥杯国赛真题剖析-2021年5月29日Scratch编程初中级组
- 计算思维应用于计算机学科,【计算机教学论文】计算机教学中的计算思维培养(共2667字)...
- RDP服务针对性攻击、钓鱼邮件攻击和勒索病毒家族Phobos研究
- DL实现semantic segmentation
- linux添加javahome
- 10分钟读懂什么是容器云?