------Java培训、Android培训、iOS培训、.Net培训--------
变量地址获取及存储原理


1.获取变量地址的方法
%p 输出一个地址
先分配字节地址大内存,然后分配字节地址小的内存
例如:
    int a = 0,b = 1;
    printf("&a = %p\n",&a);
    printf("&b = %p",&b);


    打印结果:&a = 0x7fff5fbff94c
&b = 0x7fff5fbff948


    结论:
    1) a的地址比b的地址大,因为先定义的变量,计算机在分配内存的时候,从高地址向低地址分配,所以先定义的变量分配的高地址
    2) a和b的地址不一定是连续的
 
2. 变量的存储细节
  低位字节  存放在低地址
  高位字节 存放在高地址


3. 变量的地址:
  变量的首地址,是变量在内从中占据的最低的地址


4.变量在内存存储的细节
举例说明:
    int num = 10;
    char * p = #
    printf("address:%p :%d\n",p ,*(p));
    printf("address:%p :%d\n",p+1 ,*(p+1));


    打印结果
    address:0x7fff5fbff93c :10
address:0x7fff5fbff93d :0

更多推荐