십진법 표기법으로 포인터를 인쇄하려면 어떻게해야합니까?십진수 표기법의 Printf 포인터
-Wall
을 사용하여 컴파일 할 때 원하는 결과가 나타나지 않습니다. 오류를 이해하고 -Wall
으로 컴파일하고 싶습니다. 하지만 어떻게 십진수 표기법으로 포인터를 인쇄 할 수 있습니까?
#include <stdio.h>
#include <stdlib.h>
int main() {
int* ptr = malloc(sizeof(int));
printf("%p\n", ptr); // Hexadecimal notation
printf("%u\n", ptr); // -Wformat: %u expects unsigned int, has int *
printf("%u\n", (unsigned int) ptr); // -Wpointer-to-int-cast
return EXIT_SUCCESS;
}
(I는 도트 그래프 노드 식별자로 포인터를 사용하고 있기 때문에이 필요하고 0x..
유효한 식별자가 아니다.)