筆記 c c 如何列印變數位址

2021-09-30 13:58:19 字數 510 閱讀 6805

c開發中有些情況需要比較特殊,需要判斷兩個變數是否是同乙個變數,最快捷的方式就是判斷兩個變數的位址是否一致。微軟的virtual studio就可以設定斷點然後檢視變數的位址,linux開發也可以用gdb來設定斷點,當然這些都是除錯的方式,我們也可以通過printf函式來列印變數位址。

printf函式中使用%p可以列印變數位址,p就是pointer的意思,在c/c++中用指標指向變數的位址

print_address.cpp

#include #include #include struct school ;

int main(int argc, char* ar**)

編譯及執行

$ g++ print_address.cpp

$ ./a.out

a address: 0x7fff557e3814

szhigh address: 0x7fff557e3828, szhigh.name address: 0x7fff557e3828

檢視變數位址

在linux中寫乙個程式,裡面全域性變數,區域性變數,static,const,常數,陣列,輸出這些變數的位址 包括賦值的和沒有賦值的,各類資料型別 如下 include int a int b 1 int const c 1 int const x static int d static int ...

指標變數與變數位址

一 基本概念 儲存單元一般應具有儲存 資料和讀寫資料的功能,以8位二進位製作為乙個儲存單元,也就是乙個位元組。每個單元有乙個位址,是乙個整數 編碼,可以表示為 二進位制整數。程式中的變數和主儲存器的儲存單元相對應。變數的名字對應著儲存單元的位址,變數內容對應著 單元所儲存的資料。儲存位址一般用十六進...

c c 兩個指標變數位址的相減

如下例程 include stdio.h include string.h using namespace std define uint8 t unsigned char define uint16 t unsigned short int define uint32 t unsigned int...