C++打印變量地址


%p專門用來打印變量的以十六進制表示的地址: 

#include<iostream>
using namespace std;
int main()
{
    int a = 10;
    printf("a的地址是(用十進制表示):%d\n", &a);
    printf("a的地址是(用十六進制表示):%p\n", &a);
    system("pause");
    return 0;

}

運行結果:

用計算器驗證一下:

 


 利用指針操作一切定義在內存中的變量:

1.先定義的變量掉到棧的最底部,后定義的變量在棧的上部分,下面的地址大,上面的地址小;

2.相鄰定義的變量之間隔了三個整型變量所占的字節數,即隔了12個字節;

3.變量名都是首地址的別名;

4.指針即首地址;

5.指針的數學運算帶類型,即p-1相當於p在棧內向上移動4個字節(即一個整型變量的內存寬度),即p+1相當於p在棧內向下移動4個字節(亦即一個整型變量的內存寬度);

6.讓指針變量先任意指向一個變量,然后通過指針的上下移動可以隨便操作所有變量;

7.VS2013相鄰整型變量之間相隔8個字節(即兩個整型變量的寬度)。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM