数据类型
数据类型:C语言中,数据类型是指用来声明不同类型的变量或函数的系统。变量的类型决定了变量存储占用的空间。
C中的数据类型:
1. 基本类型(算术型):整数类型和浮点类型。
2. 枚举类型(算术型):被用来定义在程序中只能赋予其一定的离散整数值得变量。
3. void类型:类型说明符 void 表明没有可用的值。
4. 派生类型:指针类型、数组类型、结构类型、共用体类型和函数类型。
(注:数组类型和结构类型统称为聚合类型)
数据类型(整数类型)
类型 存储大小 值范围
char 1字节 -128~127(或0~255)
unsigned char 1字节 0~255
signed char 1字节 -128~127
int 2或4字节 -32768~32767(或-2147483648~2147483647)
unsigned int 2或4字节 0~65535(或0~4294967295)
short 2字节 -32768~32767
unsigned short 2字节 0~65535
long 4字节 -2147483648~2147483647
sizeof运算符可以获得某个类型或某个变量在特定平台上的准确大小。
表达式sizeof(type)得到对象或类型的存储字节大小。
数据类型(浮点类型)
类型 存储大小 值范围 精度
float 4字节 1.2E-38 ~ 3.4E+38 6位小数
double 8字节 2.3E-308~1.7E+308 15位小数
long double 16字节 3.4E-4932~1.1E+4932 19位小数
数据类型(void类型)
1. 函数返回为空(不返回值或返回空)
2. 函数参数为空(函数不接受任何参数,不带参的函数可以接受一个void)
3. 指针指向void
变量(变量的类型)
变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头。大写字母和小写字母是不同的。
基本的变量类型:
char int float double void
变量(变量的定义)
变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。
type variable_list;
type为有效的C的数据类型,可以使char、int、float、double或任何用户自定义的对象。
variable_list可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。
例如: int i,j,k;
char c,ch;
float f,salary;
double d;
变量可以在声明的时候被初始化(指定一个初始值)。
变量(变量声明)
变量声明向编译器保证变量以指定的类型和名称存在,变量声明只在编译时有它的意义。
变量声明有两种情况:
1. 一种是需要建立存储空间的。
2. 另一种是不需要存储空间的,通过使用extern关键字声明变量而不定义它。
(注:除非有extern关键字,否则都是变量的定义。)
如果需要在一个源文件中引用另外一个源文件中定义的变量,只需要在引用的文件中将变量加上extern关键字的声明即可。
变量(C中的左值(lvalue)和右值(rvalue))
1. 左值(lvalue):指向内存位置的表达式被称为左值表达式。左值可以出现在赋值号的左边或右边。
2. 右值(rvalue):术语右值指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,即右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
(变量是左值,因此可以出现在赋值号的左边,二数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。)
常量(整数常量)
常量是固定值,在程序执行期间不会改变。常量可以是任何的基本数据类型。
整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x或0X表示十六进制,0表示八进制,不带前缀则默认表示十进制。
整数常量也可以带一个后缀,后缀是U和L的组合。U表示无符号整数(unsigned),L表示长整数(long)。
常量(浮点常量)
浮点常量由整数部分、小数点、小数部分和指数部分组成。当使用小数形式表示时,必须包含整数部分、小数部分,或同时包含两者。当使用指数形式表示时,必须包含小数点、指数,或同时包含两者。带符号的指数使用e或E引入的。
例如:
3.14159
314159E-5L
常量(字符常量)
字符常量是括在单引号中,可以是一个普通的字符、一个转义序列,或一个通用的字符。
转义序列码:
\\ \字符
\' '字符
\" "字符
\? ?字符
\a 警报铃声
\b 退格键
\f 换页符
\n 换行符
\r 回车
\t 水平制表符
\v 垂直制表符
\ooo 一到三位的八进制数
\xhh... 一个或多个数字的十六进制数
常量(字符串常量)
字符串字面值或常量是括在黄引号""中的,一个字符串包含类似于字符常量的字符:普通的字符、转义序列和通用的字符。
常量(定义常量)
定义常量:
方式一:使用#define预处理器
#define identifier value
例如:#define LENGTH 10
方式二:使用const关键字
const type variable=value;
例如:const int LENGTH=10;
(注:通常会把常量定义为大写字母形式)