代码:
#include <stdio.h>
int main(int argc, const char * argv[]) {
// insert code here...
//&a占8个字节
int a=0;
char *p = (char *)&a;//a的地址
printf("%p\n",&a);
printf("变量a共占%d个字节:\n",sizeof(a));
for (int j=0;j<sizeof(a);j++){
printf("变量a的地址的第%d个字节所在的地址为: %p\n",j+1,p+j);
}
printf("\n");
char *p1 = (char *)&p;//&a的地址
printf("变量a的地址&a共占%d个字节:\n",sizeof(&a));
for (int j=0;j<sizeof(&a);j++){
printf("&a的地址的第%d个字节所在的地址为: %p\n",j+1,p1+j);
}
printf("\n");
for (int j=0;j<sizeof(&a);j++){
printf("&a的地址的第%d个字节所存的值为: %x\n",j+1,*(p1+j));
}
return 0;
}
运行结果:
|
|