1. 直接使用sizeof判断指针大小, 32位机指针就4个字节,64位机指针是8个字节
2. 使用宏定义__WORDSIZE判断
3. 查看宏定义,32位机有宏__i386__, 64位机有宏__x86_64__
代码如下
#include<stdio.h>
#include<stdlib.h>
int main(void) {
//method 1
void*number = 0;
printf("%d \n", sizeof(&number));
//method 2
printf("size:%d \n", __WORDSIZE);
//method 3
#ifdef __x86_64__
printf("64bits machine \n");
#elif __i386__
printf("32 bits machine \n");
#endif
return 1;
}