32位和64位系统,C语言中char,short,int,long,char*,int*,int**各占多少字节
1、在32位系统中:
char(1)字节
short(2)字节
int(2)字节
long(4)字节
char*(4)字节
int*(4)字节
int**(4)字节
2、在64位系统中:
char(1)字节
short(2)字节
int(4)字节
long(8)字节
char*(4)字节
int*(4)字节
int**(4)字节
扩展资料
在C++中short占2字节,int、float、long都占4字节,double占8字节。
指针长度和地址总线有关。因为指针记录的就是一个地址,那么32位的就是4字节,64位的就是8字节。
char占1字节,short占2字节,int、float、long都占4字节,double占8字节,任意类型的指针都占4个字节。
C语言在64/32位下区别如何,装换方便吗?
1、基本没有区别,仅在少量数据类型比如long和unsigned long上,64位的数据范围更大
2、32位和64位系统基本没有差别,一般用户不可能体会出来差异。
3、C语言出现于1973年,也就是四十多年前,只是学习的话对电脑硬件没什么需求。
C语言,int变量为什么占4个字节?32位64位又是什么意思?
int变量占的字节数取决于机器的指令字长,32位的机器指令就是4字节。32位就是32个二进制位,就是4个字节;64位就是8字节
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);
}