96SEO 2026-02-19 22:15 0
三指针的运算1指针与整数值的加减运算2指针与指针的加法运算3指针与指针的减法4指针与指针的比较运算

内存是程序运行期间存储数据的硬件设备为了方便管理计算机将内存划分为一个个小的单元每个单元的大小是一个字节。
如果把内存比作一栋酒店大楼内存单元就像是一个个小的房间数据就住在小房间里。
同样内存单元也是有编号的这个编号在计算机中称之为“内存地址”。
指针就是内存单元的编号本质上是一个内存地址相当于房卡上的房间号。
从形式上看指针和整型数据并没有什么区别都是数字。
区别在于指针是内存地址不用于与其他数据进行加减乘除等运算也不会展示给用户。
在编写代码过程中通常会声明一个变量然后对变量进行赋值或者其他各种运算。
一定要牢记指针变量就是一个普通变量只不过它的值是内存地址而已。
①指针标识符C语言用字符*表示指针②指针类型指针不能单独存在必须和数据类型一起出现表明这个指针是某种数据类型的指针
比如char*表示一个指向字符的指针float*表示一个指向float类型的值的指针。
intPtr;上面示例声明了一个变量intPtr它是一个指针指向的内存地址存放的是一个整数。
星号*可以放在变量名与类型关键字之间的任何地方下面的写法都是正确的。
intPtr;推荐使用星号紧跟在类型关键字后面的写法即int*
声明指针变量时需要注意如果要在一行声明多个指针变量每个变量前都要携带字符*。
bar;上面示例中第二行实际上仅仅声明了一个指针变量foo是整数指针变量而bar是整数变量即*只对第一个变量生效。
一个指针指向的可能还是指针这时就要用两个星号**表示这种指针通常称为二级指针。
foo;上面示例表示变量foo是一个指针即变量foo存储的还是一个内存地址这个内存地址指向的内存中存储的则是一个整数。
*这个字符除了声明变量时代表指针外还可以作为运算符用来获取指针指向的内存中的值。
1这个表达式可以拆解为4步①计算机首先从指针变量pb中取出地址0xffeecc②再去这个地址指向的内存单元中获取整数100③然后执行运算1001执行完成后④0xffeecc这个内存单元的值就变成101。
a
1相当于上面的表达式执行过程更简单。
①计算机从变量a对应的内存直接取出整数10②然后执行运算101③执行完成后a变量对应的内存的数据更新为11。
x);上面示例中x是一个整数变量x就是x的值所在的内存地址。
printf()的%p是内存地址的占位符可以打印出内存地址。
2注意调用plus1()函数以后打印变量x的值发现结果是2但是我们并没有对x进行显示的重新赋值原因调用plus1函数时将变量c的地址作为参数进行传递plus1直接根据地址取出初始值执行加1的运算然后更新内存中的值为2不必使用变量x就可以修改x变量的值。
声明指针变量之后编译器会为指针变量本身分配一个内存空间这个内存空间可能还保存着历史数据。
如果此时就去读写这个地址对应的内存可能出现非常严重的后果必然这个地址指向的是账户余额有可能导致账户虚增或者虚减。
正确写法是声明指针变量声明立即指向一个明确的地址这就是指针变量的初始化初始化之后再进行读写。
13;上面示例中p是指针变量声明这个变量后p会指向一个随机的内存地址。
这时要将它指向一个已经分配好的内存地址上例就是再声明一个整数变量i编译器会为i分配内存地址然后让p指向i的内存地址p
语言中是一个常量表示地址为0的内存空间这个地址是无法使用的读写该地址会报错。
这样即使之后我们忘记了把指针变量p指向预期的内存地址在程序运行过程中会报错而不是以可怕的、随机的方式运行。
我们现在知道了指针虽然代表的是内存地址但其本质上是一个无符号整数。
C语言允许指针参与运算但是指针的运算规则和整数的运算规则是相差很大的。
由于0x1234本身是整数类型int跟j的类型short*并不兼容所以强制使用类型投射将0x1234转成short*。
1表示指针向内存地址的高位移动一个单位而一个单位的short类型占据两个字节的宽度所以相当于向高位移动两个字节。
同样的j
指针移动的单位与指针指向的数据类型有关。
数据类型占据多少个字节每单位就移动多少个字节。
相同类型的指针允许进行减法运算返回它们之间的距离即相隔多少个数据单位。
高位地址减去低位地址返回的是正值低位地址减去高位地址返回的是负值。
这时减法返回的值属于ptrdiff_t类型这是一个带符号的整数类型别名具体类型根据系统不同而不同。
这个类型的原型定义在头文件stddef.h里面。
类型的指针变量dist是它们之间的距离类型为ptrdiff_t值为1因为相差2个字节正好存放一个
指针之间的比较运算比较的是各自的内存地址哪一个更大返回值是整数1true或0false。
作为专业的SEO优化服务提供商,我们致力于通过科学、系统的搜索引擎优化策略,帮助企业在百度、Google等搜索引擎中获得更高的排名和流量。我们的服务涵盖网站结构优化、内容优化、技术SEO和链接建设等多个维度。
| 服务项目 | 基础套餐 | 标准套餐 | 高级定制 |
|---|---|---|---|
| 关键词优化数量 | 10-20个核心词 | 30-50个核心词+长尾词 | 80-150个全方位覆盖 |
| 内容优化 | 基础页面优化 | 全站内容优化+每月5篇原创 | 个性化内容策略+每月15篇原创 |
| 技术SEO | 基本技术检查 | 全面技术优化+移动适配 | 深度技术重构+性能优化 |
| 外链建设 | 每月5-10条 | 每月20-30条高质量外链 | 每月50+条多渠道外链 |
| 数据报告 | 月度基础报告 | 双周详细报告+分析 | 每周深度报告+策略调整 |
| 效果保障 | 3-6个月见效 | 2-4个月见效 | 1-3个月快速见效 |
我们的SEO优化服务遵循科学严谨的流程,确保每一步都基于数据分析和行业最佳实践:
全面检测网站技术问题、内容质量、竞争对手情况,制定个性化优化方案。
基于用户搜索意图和商业目标,制定全面的关键词矩阵和布局策略。
解决网站技术问题,优化网站结构,提升页面速度和移动端体验。
创作高质量原创内容,优化现有页面,建立内容更新机制。
获取高质量外部链接,建立品牌在线影响力,提升网站权威度。
持续监控排名、流量和转化数据,根据效果调整优化策略。
基于我们服务的客户数据统计,平均优化效果如下:
我们坚信,真正的SEO优化不仅仅是追求排名,而是通过提供优质内容、优化用户体验、建立网站权威,最终实现可持续的业务增长。我们的目标是与客户建立长期合作关系,共同成长。
Demand feedback