C语言作为一种通用的编程语言,具有多种,主要包括基本数据类型和派生数据类型。
基本数据类型
C语言的基本数据类型包括:整型、浮点型、字符型、布尔型等。这些数据类型在计算机内存中占据不同的位数。
-
整型(int):在C语言中,整型变量表示整数。整型变量占用2或4个字节(16或32位),可以存储不同的整数范围。常见的数据类型包括short int(2个字节)、int(4个字节)、long int(4个字节)和long long int(8个字节)。
-
浮点型(float、double):浮点型变量用于存储实数,包括单精度和双精度。常见的数据类型包括float和double。float 占用4个字节,可以存储6位有效数字的小数,double 占用8个字节,可以存储 15 ~ 17 位有效数字的小数。
-
字符型(char):在C语言中,字符型变量表示一个字符。字符型变量占用1个字节,可以存储ASCII码表中所有字符。常见的数据类型包括char。
-
布尔型(bool):布尔型变量表示真假的逻辑值。布尔型变量占用1个字节,可以存储true或false。布尔类型是C99标准中新增的数据类型。
派生数据类型
在C语言中,除了基本数据类型外,还有一些由基本数据类型衍生出来的数据类型,主要包括数组、结构体和枚举。
-
数组:数组是一种用于存储相同类型数据的集合。在C语言中,数组可以存储多个相似类型的数据作为一个连续的数据块。在声明数组时,需要指定数组的类型、数组名和数组大小。
-
结构体:结构体是C语言中的一种用户自定义数据类型。结构体可以存储多种不同类型的变量。在定义结构体时,需要指定结构体的名称和成员变量的类型和名称。
-
枚举:枚举是一种用于对变量进行编号的数据类型。C语言中,枚举由定义的枚举常量构成,每个枚举常量都有其对应的整数值。
C语言中的数据类型主要公司实际应用的需要而设计,采用了一些典型的数据类型来尽可能地简化编程工作。如果想要深入理解C语言中的数据类型,还需要对计算机的底层架构、数据类型存储方式等进行深入了解。
数组:
一维数组:数组名即是数组的首地址(没什么说的)
二维数组:类似于一个平面 (二维数组可以不用定义第一个参数)
三维数组:类似一个立体图形
- 指针数组:指针数组可以说成是”指针的数组”,首先这个变量是一个数组,其次,”指针”修饰这个数组,意思是说这个数组的所有元素都是指针类型。
注:数组在内存中存储都是连续的,字符串数组会多占一个‘\0’(字符串结束标志)
结构体:
结构体就是自己创建一个新的数据类型,他可以是任何多种基本数据类型的结合;类型名:
Struct。
例:struct Node { char a[20]; char b[5]; float c; };
结构体初始化:struct Node s = { "abc", "man", 3.1415 };
即定义了一个名为Node类型的结构体,他在内存中占(1+1+4)个字节。(可以使用Typedef对结构体重新起一个名字)
例:typedef struct human { char name[20]; int age; char sex[10]; char id[20]; }hu;
例:
结构体指针: