c语言在32位系统中基本类型所占空间
类型 | 类型标识符 | 占用字节数 |
整型 | int | 4 |
无符号整型 | unsigned int | 4 |
短整型 | short int | 2 |
无符号短整型 | unsigned short int | 2 |
长整型 | long int | 4 |
无符号长整型 | unsigned long int | 4 |
字符型 | char | 1 |
无符号字符型 | unsigned char | 1 |
浮点型 | float | 4 |
双精度型 | double | 8 |
对于字符类型和整型变量之间的相互赋值,或者是不同的整数类型变量之间的相互赋值,由于变量在内存中所占用的存储空间不同,会进行阶段或扩充处理,使得赋值后呈现出的并不是你所希望的结果,这一点要特别注意。
如下面这个例子
char a,b,c,d,e; a=127; b=-128; c=129; d=128; e=-129; printf("%d,%d,%d,%d,%d\n",a,b,c,d,e);
输出的结果是 127,-128,-127,-128,127.
因此,使用字符型或整型在不同长度的变量之间赋值的时候,有两个基本原则:
1.将表示数范围小的变量赋值给表示数大的类型变量的时候,高位做扩充处理,原数数值保持不变。
2.将表示数范围大的变量赋值给表示数小的类型变量的时候,做截断处理,只取对应的低位,这时有些数还有意义,有些数就没有意义了。
相关推荐
C语言程序设计各章节习题练习:C语言基本数据类型及运算.doc
C语言基本数据类型
C语言基本数据类型及运算题库;C语言基本数据类型及运算题库
C语言基本数据类型.ppt
C语言基本数据类型ppt课件.ppt
C语言基本数据类型PPT课件.pptx
C语言基本数据类型-完整版.pdf
C语言基本数据类型的长度和取值范围 不用积分 只为帮助新手
C语言基本数据类型共3页.pdf.zip
第二章 基本数据类型、运算符与表达式.ppt
C语言基本数据类型及运算题库
程序设计基础\第2章c语言基本数据类型及运算.ppt
C语言基本数据类型与表达式PPT课件.pptx
第 C语言基本数据类型与表达式PPT课件.pptx
C语言基本数据类型与表达式PPT学习教案.pptx
C语言基本数据类型运算符与表达式PPT课件.pptx
第 C语言基本数据类型与表达式PPT学习教案.pptx
C语言基本数据类型运算符与表达式PPT学习教案.pptx