Если вы хотите указатель, используйте %p
,
printf("value :%p\n",var.value);
Если вы хотите разыменованное значение unsigned int
, используйте
printf("value :%u\n",*(var.value));
Предполагается, что поле value
в var
на самом деле является указателем на uint32_t
- это то, что подразумевает ваш текст предупреждения.
Приятно, что вы получаете здесь предупреждение - printf
не является типобезопасным, поэтому часто неправильное использование API просто приводит к внезапной неисправности во время выполнения (например, сбой или что-то еще, необнаруженное повреждение памяти).