intptr_t和uintptr_t的字符串格式

the*_*tna 29 c formatting printf scanf

什么是字符串格式intptr_t, uintptr_t 哪个对32位和64位架构都有效.

编辑

warning: format ‘%x’ expects type ‘unsigned int’, but argument 2 has type "AAA"
Run Code Online (Sandbox Code Playgroud)

这是我在64位但不是32位的警告.

  intptr_t  AAA
Run Code Online (Sandbox Code Playgroud)

nin*_*alj 47

这将是以下宏inttypes.h:

用于printf: PRIdPTR PRIiPTR PRIoPTR PRIuPTR PRIxPTR PRIXPTR

用于scanf: SCNdPTR SCNiPTR SCNoPTR SCNuPTR SCNxPTR

用法示例:

uintptr_t p = SOME_VALUE;
printf("Here's a pointer for you: %" PRIxPTR "\n", p);
Run Code Online (Sandbox Code Playgroud)

  • 用法示例:`uinptr_t p = SOME_VALUE; printf("这是给你的指针:%"PRIxPTR"\n",p);` (19认同)