%p是列印位址(指標位址)的,是十六進製制的形式,但是會全部打完,即有多少位列印多少位。
32位編譯器的指標變數為4個位元組(32位),64位編譯器的指標變數為8個位元組(64位)。
在32位編譯器下,使用%p列印指標變數,則會顯示32位的位址(16進製制的);在64位編譯器下,使用%p列印指標變數,則會顯示64位的位址(16進製制的),左邊空缺的會補0。
%x:無符號十六進製制整數(字母大寫,不像上面指標那樣補零)
%x、%x和%p的相同點都是16進製制,不同點是%p按編譯器位數長短(32位/64位)輸出位址,不夠的補零
#include
#include
int recordbuffer[10]
;int
buffer_write
(unsigned
int*buffer ,
int size_to_write)
;int
main
(void);
buffer_write
(buffer ,10)
;int i ;
for(i =
0; i <
10; i++
)printf
("recordbuffer[%d]:%p\n"
,i , recordbuffer[i]);
getchar()
;return0;
}int
buffer_write
(unsigned
int*buffer ,
int size_to_write)
}
#include
int recordbuffer[10]
;int
buffer_write
(unsigned
int*buffer ,
int size_to_write)
;int
main
(void);
buffer_write
(buffer ,10)
;int i ;
for(i =
0; i <
10; i++
)printf
("recordbuffer[%d]:%p\n"
,i , recordbuffer[i]);
return0;
}int
buffer_write
(unsigned
int*buffer ,
int size_to_write)
}
C語言 雜記
1 常量溢位 u16 adc temp 0 應為 u32 adc temp 0 for i 0 i 100 i adc temp 100 1.2 資料範圍溢位 將乙個數拆分為n個隨機數 for i 0 i 200 i break 可更正為 for i 0 i 200 i else 小於或等於0xff...
C語言 雜記
2n 要表示為 2 n printf d a 引號必須是雙引號,不能是單引號,否則報 error c2664 printf cannot convert parameter 1 from const int to const char conversion from integral type to...
C語言指標雜記
1.指標就是位址,位址就是指標 2.指標變數 定義某個變數,這個變數中存的是位址 指標 的值 3.void型別的指標在傳參過程中可以接受任何型別指標的值,也可以把自己的值傳給任何型別的指標 4.int p 3 指標p指向int型別的資料,該資料有3個int型別那麼大 5.int arr 2 3 6....