Спецификатор формата в C - PullRequest
1 голос
/ 18 февраля 2011

Что означает спецификатор формата% p в C? Как это интерпретируется в операторе printf?

Например, когда я запускаю следующую строку в компиляторе GCC,

int a = 1; Е ( "% р", а);

полученное мной о / п: 00000001 Так что же означают 8 цифр?

Ответы [ 4 ]

3 голосов
/ 18 февраля 2011

%p - Печать void * (указатель на void) в формате, определяемом реализацией (Источник: http://en.wikipedia.org/wiki/Printf#Format_placeholders).

В большинстве реализаций используется шестнадцатеричное строковое представление значения.

2 голосов
/ 18 февраля 2011

Это означает, что соответствующий аргумент является указателем.

2 голосов
/ 18 февраля 2011

Это для печати указателей.Вы передаете указатель на void;как именно он будет выглядеть при печати, не указано в стандарте.

2 голосов
/ 18 февраля 2011

Это означает печать значения в виде шестнадцатеричного представления указателя.Смотри http://linux.die.net/man/3/printf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...