小编vik*_*ngh的帖子

在 C/C++ 编程中,从较小的地址中减去较大的地址时,输出表示什么?

给定一段代码:

int a[5];
printf("%u\n",&a[3]-&a[0]);
printf("%u",&a[0]-&a[3]);
Run Code Online (Sandbox Code Playgroud)

现在,地址减法中第一行的输出是根据公式((addg - add)/数据类型的大小),其中 addg 大于 add。gcc 中上述代码段的输出是:

3
4294967293
Run Code Online (Sandbox Code Playgroud)

第一行输出(即 3)很明显,但是第二个输出的含义是什么,或者从较小的地址中减去较大的地址(即添加 - addg)时会发生什么?

c c++ memory gcc pointers

1
推荐指数
1
解决办法
57
查看次数

标签 统计

c ×1

c++ ×1

gcc ×1

memory ×1

pointers ×1