求教大虾!!!!64位机的内存单元地址编码问题.
各位大虾,请教一下,64位机的电脑,VC怎么分配连续的内存单元?地址为何是七位的呢:2817175(见下图).#include <stdio.h>
main()
{
char a, b, c;
printf("input c:");
scanf("%c", &c);
printf("input b:");
scanf(" %c", &b); /*在%c前面加一个空格,将存于缓冲区的回车符读入*/
printf("input a:");
scanf(" %c", &a); /*在%c前面加一个空格,将存于缓冲区的回车符读入*/
printf("a = %c, b = %c, c = %c\n", a, b, c);
printf("ASICI: a:%d,b:%d,c:%d\n", a, b, c);
printf("&a = %u,&b = %u,&c = %u\n",&a,&b,&c);
system("pause");
}
输出结果如下图:
恩,我把%u改为%p,结果如下:&a=001CFCBB,&b=001CFCAF,&c=001CFCA3,哪位大是能帮我解释一下这个地址的含义?我的机子是64位的,址址是8位,但为什么采用的是十六进制?地址为何相差了12?