回覆列表
  • 1 # 使用者1220686403821

    c語言中%p用來輸出指標型別自身的值。

    也就是說%p用來輸出地址。?

    一、使用方法:

    %p一般僅用於printf及同類函式中。形式為

    printf("%p",varp);

    其中後續引數varp為某一個指標變數。如

    int?a,*p;

    p=&a;

    printf("%p?%p",?p,?&a);這裡輸出的p和&a都是int*型。?

    二、功能:

    %p格式符會輸出指標本身的值,也就是指標指向的地址值。

    該輸出為16進位制形式,具體輸出值取決於指標指向的實際地址值。

    三、與%x區別:

    %x同樣輸出16進位制形式,不過%x對應的是int型,也就是說,其輸出長度與系統int型佔的位元組數相等。如32位編譯器,int型佔4位位元組,那麼%x輸出的結果最多為16個16進位制字元。

    而%p輸出寬度取決於系統地址匯流排位數,即16位最多輸出4位16進位制字元,32位最多輸出8位16進位制字元,64位最多輸出16位16進位制字元。

    所以用%p輸出地址,相對於用%x輸出,可以有更好的移植型和適應性,不會因為更換平臺而引起錯誤。

  • 中秋節和大豐收的關聯?
  • 蘆荻無花秋水長,浮雲若萍掩星光,紅花半落燕歸去,明月千里共瀟湘?