32/64位系统int、long。。。所占字节

来源:互联网 发布:淘宝网发布宝贝 编辑:程序博客网 时间:2024/06/07 19:04
#include <stdio.h>int main(){        printf("char: %d\n",sizeof(char));        printf("char *: %d\n",sizeof(char *));        printf("short: %d\n",sizeof(short));        printf("short *: %d\n",sizeof(short *));        printf("int: %d\n",sizeof(int));        printf("int *: %d\n",sizeof(int *));        printf("long: %d\n",sizeof(long));        printf("long *: %d\n",sizeof(long *));}在一台x86_64系统上运行结果:char: 1char *: 8short: 2short *: 8int: 4int *: 8long: 8long *: 8在一台i386系统上运行结果:char: 1char *: 4short: 2short *: 4int: 4int *: 4long: 4long *: 41. sizeof返回的是byte值,1byte=8bit;2. 指针类型表示的是内存寻址范围,所以在32位系统,8 * 4 = 32,而64位系统 8 * 8 = 64;这个是没错的;3. C99标准规定:sizeof(short) <= sizeof(int) <= sizeof(long).
原创粉丝点击