定义
数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。
变量是用来存储值的所在处,它们有名字和数据类型。
变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。
在声明变量时也可指定它的数据类型。
所有变量都具有数据类型,以决定能够存储哪种数据。
数据类型种类
整型类型
short int //短整型 int //整型 long int //长整型 long long int //双长整型 bool //布尔型 char //字符型
浮点型
1.float //单精度浮点数
2.double //双精度浮点数
枚举类型
enum //枚举类型
空类型
void //空类型
派生类型
* 指针类型
[] 数组类型
struct 结构体类型 union 共用体类型
函数类型
早期的操作系统是16位系统, int用二字节表示,范围是-32768~32767; long用4字节表示,范围是-2147483648~2147483647。
后来发展到32位操作系统,int 用4字节表示,与long相同。
目前的操作系统已发展到64位操作系统,
但因程序编译工艺的不同,两者表现出不同的差别:
32位编译系统:int占四字节,与long相同。
64位编译系统:int占四字节,long占8字节,long数据范围变为:-263~263-1
在标准中,并没有规定long一定要比int长,也没有规定short要比int短。
标准是这么说的:长整型至少和整型一样长,整型至少和短整型一样长。
这个的规则同样适用于浮点型long double至少和double一样长,double至少和float一样长。
至于如何实现要看编译器厂商.
1. short<=int<=long
short int 2个字节
int 2/4字节
long 4/8字节
long long 8字节
2. 关于long long
(1)long long,长度为8个字节(64位);
(2)visual c++ 6.0中不支持,long long int,是在vc99中添加此功能的,所以我们在vc6.0中编译有long long 的数据时,会出错,但是在VS更高的版本中,是能通过的。
示例
以我使用的VS2022为例:
数据类型使用方法
我们在定义变量的时候在变量前加上数据类型
数据类型决定了如何将代表这些值的位存储到计算机的内存中
整型浮点型定义的示例
int age = 150;
float weight = 45.5f;
char ch = 'w';
我们之前讲过变量和常量:
输出格式
//整型输出格式 %hd用来输出 short int 类型,hd 是 short decimal 的简写; %d用来输出 int 类型,d 是 decimal 的简写; %ld用来输出 long int 类型,ld 是 long decimal 的简写。 %c:输出一个字符。c 是 character 的简写。 //字符串 %s:输出一个字符串。s 是 string 的简写。 //小数输出格式 %f:以十进制形式输出float类型。f 是 float 的简写。 %lf 以十进制形式输出 double 类型; %.xf x为保留几位小数 %e 以指数形式输出 float 类型,输出结果中的 e 小写; %E 以指数形式输出 float 类型,输出结果中的 E 大写; %le 以指数形式输出 double 类型,输出结果中的 e 小写; %lE 以指数形式输出 double 类型,输出结果中的 E 大写
枚举型
基本概念
枚举enum就是英文enumerate的缩写,也就是列举、排列说明的意思。
枚举类型是C语言中的一种特殊类型,枚举类型可以让我们的程序使用一些固定长度和固定数值的变量值范围。
定义枚举类型:enum 枚举类型 {枚举值列表};
使用方法
定义枚举类型
//枚举颜色 enum color{red=1, oreange=2, yellow=3, green=4, ching=5, blue=6, purple=7};
在此说明一下
我们定义的枚举值如果没有赋初始值,那么第一个默认为0,之后依次递增1
如果其中一个赋予了初始值,那么之后的值从这个值开始递增。
举例
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> enum color { red , oreange , yellow , green=5 , ching , blue , purple }; int main() { printf("%-3d %-3d %-3d %-3d %-3d %-3d %-3d", red, oreange, yellow, green, ching, blue, purple); return 0; }
定义枚举类型的变量
//枚举一个星期的每一天 enum week { Su, Mo, Tu, We, Th, Fr, Sa }; //定义枚举变量 enum week a, b, c; a = Su; b = Mo; c = Tu; //调用枚举类型变量 enum week a, b, c; a = Su; b = Mo; c = Tu; printf("%d %d %d\n", a, b, c);
剩下的后续进阶区会讲到~
如果有错误希望大家不吝赐教,我将从善如流,感谢大家支持~~~