手机做网站视频,seo关键词查询,2345网址导航是什么浏览器,二次网站开发平台前言指针变量也是可以进行运算的#xff0c;如指针变量对其自身加上某个整数或减去某个整数#xff0c;这在内存上体现为#xff1a;相对这个指针向后偏移多少个单位或向前偏移了多少个单位#xff0c;这里的单位与指针变量的类型有关。在32bit环境下#xff0c;int类型占… 前言指针变量也是可以进行运算的如指针变量对其自身加上某个整数或减去某个整数这在内存上体现为相对这个指针向后偏移多少个单位或向前偏移了多少个单位这里的单位与指针变量的类型有关。在32bit环境下int类型占4个字节float占4字节double类型占8字节char占1字节。【注意】一些处理整数的操作不能用来处理指针。例如可以把两个整数相乘但是不能把两个指针相乘。示例程序#include int main(void)
{int a 10, *pa a;float b 6.6, *pb b;char c a, *pc c;double d 2.14e9, *pd d;//最初的值printf(pa0%d, pb0%d, pc0%d, pd0%d\n, pa, pb, pc, pd);//加法运算pa 2; pb 2; pc 2;pd 2;printf(pa1%d, pb1%d, pc1%d, pd1%d\n, pa, pb, pc, pd);//减法运算pa - 1; pb - 1; pc - 1;pd - 1;printf(pa2%d, pb2%d, pc2%d, pd2%d\n, pa, pb, pc, pd);return 0;
}
运行结果为pa06422268, pb06422264, pc06422263, pd06422248
pa16422276, pb16422272, pc16422265, pd16422264
pa26422272, pb26422268, pc26422264, pd26422256
解析举例说明pa0→pa1→pa2的过程其他类似。pa02*sizeof(int)pa1,pa1-1*sizeof(int)pa2。因为pa为int类型的指针所以加减运算是以4字节即sizeof(int)为单位地址向前向后偏移的。看下图如图pa1所指向的地址在pa0所指向地址往后8字节处pa2指向地址在pa1指向地址往前4字节处。从本示例程序中还可以看出连续定义的变量在内存的存储有可能是紧挨着的有可能是分散着的。以上就是关于C语言指针变量运算的一些总结指针变量与整数相加相减是相对该指针指向的地址向后向前偏移多少个单位。这里的单位不能认为总是1。在32bit环境下char类型指针的偏移单位才是1字节int类型指针偏移单位是4字节float类型指针偏移单位是4字节double类型指针偏移单位是8字节。声明本文于网络整理版权归原作者所有如来源信息有误或侵犯权益请联系我们删除或授权事宜。