今天看啥  ›  专栏  ›  starmier

C语言基本数据类型

starmier  · 简书  ·  · 2019-06-02 17:06

基本数据类型

数据类型 关键字 描述
字符型 char 描述单个字符。
整型 short/int/long 描述整数,整数在计算机上是准确表示的。
浮点(单精度)型 float 描述实数,实数在计算机上一般是近似表示的,浮点型的近似程度比较低,而双精度型的近似程度比较高。
双精度型 double 描述实数,实数在计算机上一般是近似表示的,浮点型的近似程度比较低,而双精度型的近似程度比较高。
数据类型 关键字 描述
无值类型 void 没有具体的值,通常用来描述无形式参数或无返回值的C函数,以及无定向指针。
逻辑型 _bool 描述逻辑真(其值为1)与逻辑假(其值为0)。
复数型 _complex_imaginary 描述复数(_complex)和纯虚数(_imaginary)。

备注:使用逻辑型时必须包含头文件stdbool.h,使用复数型时必须包含头文件complex.h。

构造数据类型 关键字 描述
数组 type arrayName [ arraySize ] arraySize 必须是一个大于零的整数常量,type 可以是任意有效的 C 数据类型。例如,要声明一个类型为 double 的包含 10 个元素的数组 balance,声明语句如下:
double balance[5] = {1000.0, 2.0, 3.4, 7.0, 50.0};
结构体 struct tag { member-list
member-list
member-list
...
} variable-list ;
member-list 是标准的变量定义,比如 int i; 或者 float f,或者其他有效的变量定义。variable-list 结构变量,定义在结构的末尾,最后一个分号之前,您可以指定一个或多个结构变量。。
共用体 union Data{
int i;
float f;
char str[20];
} data;
Data 类型的变量可以存储一个整数、一个浮点数,或者一个字符串。这意味着一个变量(相同的内存位置)可以存储多个多种类型的数据。您可以根据需要在一个共用体内使用任何内置的或者用户自定义的数据类型。共用体占用的内存应足够存储共用体中最大的成员。例如,在上面的实例中,Data 将占用 20 个字节的内存空间,因为在各个成员中,字符串所占用的空间是最大的。
枚举类型 enum 枚举名 {枚举元素1,枚举元素2,……}; enum season {spring, summer=3, autumn, winter};
没有指定值的枚举元素,其值为前一元素加 1。也就说 spring 的值为 0,summer 的值为 3,autumn 的值为 4,winter 的值为 5;

详细讲解可参考地址:https://www.runoob.com/cprogramming/c-fun-pointer-callback.html

定义变量的同时千万千万别忘了初始化。定义变量时编译器并不一定清空了这块内存,它的值可能是无效的数据。

基本数据类型取值范围

类型 长度/子节 取值范围 存储方式
char 1 -128~127 有符号二进制补码形式
[signed]char 1 -128~127
unsigned char 1 0~255
short[int] 2 -32768~32768
unsigned short[int] 2 0~65535
int 4 -2147483648~2147483647 定点有符号二进制补码形式
[signed]int 4 -2147483648~2147483647
unsigned int 1 0~4294967295
long[int] 2 -2147483648~2147483647
unsigned long[int] 4 -2147483648~2147483647
unsigned long [int] 4 0~4294967295
float 4 -3.410^38~3.410^38 浮点形式存储
double 8 -1.79810^308~1.79810^308 浮点形式存储
long double 8 -1.79810^308~1.79810^308 浮点形式存储

备注:
short int<=int<=long int<=long long int
float<=double<=long double




原文地址:访问原文地址
快照地址: 访问文章快照