更新中.......
在c语言中,仅有4种基本数据类型——整型,浮点型,指针和聚合类型(如数组和结构等)。所有其他的类型都是从这4种基本类型派生而来。
1 . 整型
整型家族包括字符,短整型,整型和长整型,它们又分为有符号和无符号
类型 | 取值范围 |
---|---|
char | 0~127 |
signed char | -127~+127 |
unsigned char | 0~255 |
short int | -32767~+32767 |
unsigned short int | 0~65535 |
int | -32767~+32767 |
unsigned int | 0~65535 |
long int | -2147483647~+2147483647 |
unsigned long int | 0~4294967295 |
short int至少16位,long int至少32位。至于缺省的int究竟是16位还是32位,或者是其他值,则由编译器设计决定。通常这个选择的缺省值是这种机器最为自然(高效)的位数。同时你还应该注意到标准也没有规定这3个值必须不一样,如果某种机器的环境的字长是32位,而且没有什么指令能够更有效地处理更短的整型值,它可能把这3个整型值都设定为32位。
另外在定义char型变量时,应尽量将数值控制在unsigned char与signed char的交集,这样可以确保程序有更好的可移植性。
2 . 浮点类型
浮点家族包括float,double和long double类型。ANSI标准规定long double至少至少和double一样长,而double至少和float一样长。
标准同时规定了一个最小范围,所有浮点类型至少能够容纳从10-37到1037之间的任何值。
浮点数字面值在缺省情况下都是double类型的,除非它的后面跟一个L或1表示它是一个long double类型的值,或者跟一个F或f表示它是一个float类型的值。
3 . 指针
数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。在C语言中,允许用一个变量来存放指针,这种变量称为指针变量。指针变量的值就是某份数据的地址,这样的一份数据可以是数组、字符串、函数,也可以是另外的一个普通变量或指针变量。现在假设有一个 char 类型的变量 c,它存储了字符 'K'(ASCII码为十进制数 75),并占用了地址为 0X11A 的内存(地址通常用十六进制表示)。另外有一个指针变量 p,它的值为 0X11A,正好等于变量 c 的地址,这种情况我们就称 p 指向了 c,或者说 p 是指向变量 c 的指针。
定义指针变量与定义普通变量非常类似,不过要在变量名前面加星号 ***,格式为:
datatype *name;
或者
datatype *name = value;
4 . 聚合类型
聚合数据类型能够同时存储超过一个的单独数据,c语言提供了两种类型的聚合数据类型——数组和结构。
数组
数组是相同类型的元素的集合,它的每个元素是通过下标引用来访问的。
- 一维数组
int a[10];//声明可存储十个变量的一维数组
a[1] = 2;
- 多维数组
int b[2][3];//声明一个2*3的二维数组
int c[6][8][10];
- 指针数组
int *api[10];
** 结构 **
结构也是一些值的集合,这些值称为它的成员,但是一个结构的各个成员可能具有不同的类型。