Вы передаете адрес p
. Вам нужно передать значение.
printf("%d\n", p);
Когда он у вас есть, ваш код печатает адрес p
, каким бы он ни был.
Кроме того, поскольку выиспользуя unsigned int
, вы, вероятно, захотите использовать форматер % u , инстантированный % d .