【问题标题】:How is an integer stored in C program?C程序中如何存储整数?
【发布时间】:2022-11-18 13:24:48
【问题描述】:

数字 1 在内存中存储为 00000001 00000000 00000000 00000000 吗?

#include <stdio.h>
int main()
{
    unsigned int a[3] = {1, 1, 0x7f7f0501};
    int *p = a;
    printf("%d %p\n", *p, p);
    p = (long long)p + 1;
    printf("%d %p\n", *p, p);
    char *p3 = a;
    int i;
    for (i = 0; i < 12; i++, p3++)
    {
        printf("%x %p\n", *p3, p3);
    }
    return 0;
}

输出: output 为什么打印 16777216?

【问题讨论】:

    标签: c


    【解决方案1】:

    在不同的体系结构上,整数以不同的方式存储在内存中。最常见的是小端和大端。 1 的存储方式与您在英特尔体系结构中的要求一样,因为它使用小端字节对齐。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-06-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多