リンクリストのノードのアドレスを読み取るコードを書いているので、printfのフォーマットが正しいかどうか%p
を確認できます。%u
1 つは 16 進数を示し、もう 1 つは 10 進数を示し、16 進数または 10 進数への変換は一致しています。%p
また、誰かがとの違いについて簡単に説明できれば素晴らしいこと%u
です。
struct node {
int x;
struct node *next;
};
int main () {
struct node *root;
struct node *track;
root = malloc(sizeof(struct node));
printf ("Location of root is %p\n", root);
printf ("Location of root is %u\n", root);
}
実行の出力:
[root@vm c_prog]# ./a.out ルートの場所は 0xdc3010 です ルートの場所は 14430224 です [root@vm c_prog]# ./a.out ルートの場所は 0x11fbf010 です ルートの場所は 301723664 です [root@vm c_prog]# ./a.out ルートの場所は 0x7e8e010 です ルートの場所は 132702224 です [root@vm c_prog]#