A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

变量地址获取及存储原理

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



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

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

2. 变量的存储细节
        低位字节  存放在低地址
        高位字节        存放在高地址

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

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




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

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马