C语言 怎么区分当前系统是32位还是64位?


32位和64位指的是操作系统的位数,映射到C语言中,最直观的就是指针类型占用的字节数。

 

1 32位系统:

 

地址占32位,所以指针类型同样占32位,即4字节。

 

2 64位系统:

 

地址占64位,所以指针类型同样占64位,即8字节。

 

 

于是,只需要判断任意一个指针的sizeof值,即可获取到位数。

 

 

int main()

{

    int bits= sizeof(char *);

    if(bits == 4) printf("32位\n");

    else if(bits == 8) printf("64位\n");

    else printf("others, bits = %d\n", bits);

}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM