【C语言】数据类型
简介
类型分类
- 基本数据类型
- 枚举类型
- 指针类型
- void类型
- 聚合类型(数组、结构类型)
auto
、register
、extern
和 static
这个四个关键词涉及变量的作用域(Scope)和存储持续时间(Storage duration)。请看这篇【C语言】变量的存储类型和作用域。
除此之外还有3个和数据类型相关的关键字为 const
、sizeof
和 typedef
。
const
用于声明一个常量。即声明之后只读。
sizeof
用于获取对象或类型的大小(多少字节)。
printf("The size of type int is %d bytes.\n", sizeof(int));
typedef
可以用它来为数据类型定义一个新的名字。比如:
typedef unsigned int POSITIVE_INTEGER;
1. 基本数据类型
基本数据类型的关键词有:
- 整数型:
short
、int
、long
(又分signed
、unsigned
类型) - 字符型:
char
- 浮点数:单精度
float
和双精度double
在头文件 limits.h 定义了整数类型和字符型的最大值和最小值。
在头文件 float.h 定义了浮点数类型的最大值和最小值。
2. 枚举类型
枚举型的关键词为enum
。后面跟着枚举类型的名称,以及用大括号 {}
括起来的一组枚举元素。每个枚举元素可以用一个标识符来表示。枚举元素的值默认从0开始递增,也可以指定一个数值。
e n u m n a m e { e l e m e n t 1 , e l e m e n t 2 , … } ; enum\ name\{element1, element2, \dots \}; enum name{
element1,element2,…};
举例:
#include <stdio.h>
enum color {
RED, GREEN, BLUE, PINK, ORANGE};
int main(int argc, char* argv[]) {
enum color c = BLUE;
switch (c) {
case RED:
printf("color is red(%d).\n", c);
break;
case GREEN:
printf("color is green(%d).\n", c);
break;
case BLUE:
printf("color is blue(%d).\n", c);
break;
default:
printf("color is pink or orange.\n");
}
return 0;
}
枚举类型
enum color {
RED, GREEN, BLUE};
等价于宏定义
#define RED = 0;
#define GREEN = 0;
#