C語言%p意思
在C語言中,%p
是printf家族(包括printf、fprintf、sprintf、snprintf等)中的一個格式字元串,用來輸出指針變量的值。當你使用%p
作為格式字元串時,printf家族函式會將指針變量的值以十六進制形式(通常帶有前綴0x
)輸出,並且會自動對齊,使得輸出結果看起來像是一個地址。
例如,假設你有以下代碼:
int *ptr = malloc(10);
printf("ptr = %p\n", ptr);
輸出可能會像這樣:
ptr = 0x7ffee924b010
這裡,0x7ffee924b010
是ptr
指針變量的值,它代表了一塊內存的地址。
注意,%p
只適用於輸出指針變量,如果你嘗試將一個非指針變量以%p
格式輸出,將會產生未定義行為。此外,%p
輸出的地址格式可能會因為平台和編譯器而有所不同,但通常都是十六進制表示。