天天看点

不同类型变量间赋值

不同变量所占内存不同,将内存大的赋值给内存小的,存在溢出问题

比如:将int 型 变量 赋值给 char 类型变量

int占4个字节32位 char类型占1个字节8位

char = 257

int型257的二进制代码为(1 0000 0001) int型占32位,系统自动补齐剩余位数为(0000 0000 0000 0000 0000 0001 0000 0001)

因为char类型只能够存放8位 所以只能存放(0000 0001)所对应的十进制整型为1

测试代码如下:

#include<stdio.h>
int main(void){
	char i = 257;
	printf("%d", i);
	return 0;
}
           

测试结果为 1