相关疑难解决方法(0)

为什么int指针'++'增加4而不是1?

指针的值是变量的地址.为什么int pointerint指针增加1后增加4个字节的值.

在我看来,我认为指针(变量的地址)的值仅在指针递增后增加1个字节.

测试代码:

int a = 1, *ptr;
ptr = &a;
printf("0x%X\n", ptr);
ptr++;
printf("0x%X\n", ptr);
Run Code Online (Sandbox Code Playgroud)

预期产量:

0xBF8D63B8
0xBF8D63B9
Run Code Online (Sandbox Code Playgroud)

实际输出:

0xBF8D63B8
0xBF8D63BC
Run Code Online (Sandbox Code Playgroud)

编辑:

另一个问题 - 如何访问4个字节并int逐个占用?

c c++ pointers

42
推荐指数
3
解决办法
3万
查看次数

为什么C++ int和long类型都是4个字节?

许多来源,包括微软,都将int和long类型都引用为4个字节,并且范围为(带符号)-2,147,483,648到2,147,483,647.如果实际上没有提供更大范围的值,那么拥有长基本类型有什么意义呢?

c++ cpu-architecture

18
推荐指数
3
解决办法
1万
查看次数

标签 统计

c++ ×2

c ×1

cpu-architecture ×1

pointers ×1