「%p」中的p是pointer(指標)的縮寫。%p是列印位址的, 而%x是以十六進製制形式列印。
%p是列印位址(指標位址)的,是十六進製制的形式,但是會全部打完,即有多少位列印多少位。
32位編譯器的指標變數為4個位元組(32位),64位編譯器的指標變數為8個位元組(64位)。
所以,在32位編譯器下,使用%p列印指標變數,則會顯示32位的位址(16進製制的);在64位編譯器下,使用%p列印指標變數,則會顯示64位的位址(16進製制的),左邊空缺的會補0。
%x:無符號十六進製制整數(字母大寫,不像上面指標那樣補零)
%x、%x和%p的相同點都是16進製制,不同點是%p按編譯器位數長短(32位/64位)輸出位址,不夠的補零
x 與 x的區別
簡單表示式如a 或 a,這兩種寫法代表同樣的意思,比如用在常見的for語句中 但當遞增increase或遞減decrease的運算結果被直接用在其它的表示式中時,它們就代表非常不同的意思了 a 中,變數a的值先增加,然後再計算整個表示式的值,因此增加後的值被用在了表示式的計算中 a 中,變數a的值在...
C 中 x與0x的區別
首先這兩個均表示16進製制,但是用法有所不同。x主要是用於字元的表示 如char ch xa 那麼ch這個字元所代表的是什麼呢?正如上面所說的 x代表的是16進製制,16進製制中的a在十進位制中代表10,那麼ch這個數就代表著序號為10的ascii碼所代表的字元,即 n換行符。0x雖然也代表十六進製...
c 語言與C語言的區別
c 之類的語言是物件導向的。使用這樣的語言程式設計被稱為物件導向程式設計 object oriented programming,oop。它可以讓計算機程式設計師將乙個物件導向的設計實現稱為乙個可工作的軟體系統 c之類的語言是過程性 procedural 所以程式設計總是面向動作的。在c語言中,程式...