目录
一. 数据类型
1.基本数据类型
不同系统的位数不一样,存储大小也不一样,
类型 | 存储大小 | 例子 | 表示范围 |
整型 (int) | 4 | 1,2,3 | -32,768 到 32,767 |
字符型(char) | 1 | 'a'.'b','c' | -128 到 127 |
浮点型(float) | 4 | 1.1 2.2 | 1.2E-38 到 3.4E+38 |
双精度浮点(double) | 8 | 1.22 | 2.3E-308 到 1.7E+308 |
为了更精确的表示类型,不浪费内存空间,
还有short类型 2字节 long类型 8个字节
还有有符号类型 signed char 关键字(signed )
无符号类型 unsigned char 关键字(unsigned )
以下是有符号和无符号的扩展
有符号和无符号的区别;
比如: 0000 0000 用来表示一个数
而无符号,就可以用满这8位,所以 最大为 1111 1111 相当于10进制的255,
而有符号,是首位为1表示为负数,只能用剩下的7位,就是 - 111 1111 相当于十进制的127
用一个字节类型的字符串型来举例子. 1 字节就是 8比特,有8个可以存取0或1的空间
所以无符号字节类型的值范围是 0到 255
有符号字节类型的值范围就是 -128到127
同理两字节的无符号范围就是 0 到 65,535 有符号范围就是 -32,768 到 32,767
以此类推即可.
类型之间是可以转换的,比如 char 转到int int转到char之类的,分为隐式转换(小转大),强制转换(大转小)
隐式转换,不需要进行任何明确的指令或函数调用,会保证精度,一般不会丢失数据.
显示转换 ,需要使用强制类型转换运算符,容易造成数据丢失.
2.枚举类型
enum用于定义一组常量
例子
enum Color {
red,
yellow,
blue
};
使用方法
枚举默认下标开始位0,后面依次加1.不过可以指定下边,后面依然一次加1;
3.void 类型
用来表示空,一般用于函数返回值,表示没有返回
4.派生类型(只做简单了解即可,后面会深入讲解)
a.数组类型
b.指针类型
int * 定义一个指向整型数据的内存地址 , &获取内存地址
c.结构体类型
struct是由一系列具有相同类型或不同类型的数据构成的数据集合.
例子:
代码:
#include <stdio.h>
struct Studio //直接初始化赋值
{
char name = 'a';
int age = 18;
double score = 100.00;
};
int main()
{
struct Studio studio ;
studio.score = 150; //重新赋值
printf("a的值为 %c \n", studio.name);
printf("b的值为 %d \n", studio.age);
printf("c的值为 %f \n", studio.score);
return 0;
}
二.常量&&变量
1.常量
常量是固定值,在程序执行期间不变,结合类型,有整数常量,浮点常量,等等,
在定义之后不能进行更改.
一种是使用上一篇提到过的预处理器 #define来定义
一种是使用 const关键字
2.变量
见名知意,就是可以改变的量,可以在后面重新赋值,也可以在程序运行时赋值