猿问

关于数据在内存中的储存

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int a=10;
    char b='c';
    float c=10.0;
    double d=20.000;

    int *a1=&a;
    char *b1=&b;
    float *c1=&c;
    double *d1=&d;

    printf("%d    %x\n",a1,a1);
    printf("%d    %x\n",b1,b1);
    printf("%d    %x\n",c1,c1);
    printf("%d    %x\n",d1,d1);
cout<<endl;
    printf("%d    %x\n",&a1,&a1);
     printf("%d    %x\n",&b1,&b1);
      printf("%d    %x\n",&c1,&c1);
       printf("%d    %x\n",&d1,&d1);
}

输出

6946556    69fefc
6946555    69fefb
6946548    69fef4
6946536    69fee8

6946532    69fee4
6946528    69fee0
6946524    69fedc
6946520    69fed8

为什么double的首地址 和float的首地址隔了12个字节, 有什么规律?


白板的微信
浏览 712回答 1
1回答
随时随地看视频慕课网APP
我要回答