C语言指针偏移:详解指针运算结果

代码:

#include<stdio.h>
int main(int argc, char *argv[]){
int *a = NULL;
printf( '%d\n', (char *)(a+1) - (char *)a );
printf( '%d\n', (a+1) - a );
}

运行结果:

4
1

解释:

  • 第一行输出的是指针类型为 int 的指针 a 向后偏移一个元素所占用的字节数,因为 int 类型占用 4 个字节,所以输出 4。
  • 第二行输出的是指针类型为 int 的指针 a 向后偏移一个元素所需要增加的指针数,因为一个 int 类型元素占用一个指针单位,所以输出 1。
C语言指针偏移:详解指针运算结果

原文地址: https://www.cveoy.top/t/topic/lKLs 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录