C语言学习笔记1
一、C语言的数据类型
1. 基本类型
系统分配给基本类型的变量的内存是固定的(以字节为单位,1字节为8 bits)。
(1)整型
short
----> 2字节int
----> 4字节long
----> 4/8字节(取决于处理器的位数)long long
----> 8字节
(2)浮点型(实型)
float
----> 4字节 (单精度浮点型)double
----> 8字节 (双精度浮点型)
(3)字符型
char
----> 1字节
2. 构造类型
系统分配给构造类型的变量的内存大小,取决于如何定义这个变量。
(1)数组类型
int arr[10] = {0}; // 定义一个简单的整型数组并初始化,大小为数据类型 * 数组大小 4 * 10 = 40字节
(2)结构体类型
关键字:struct
struct Student { // 定义一个结构体存储学生信息
int id; // 学号
char name[10];// 姓名
int age; // 年龄
char sex[2]; // 性别
};
结构体数据类型的大小根据处理器位数和结构体内部数据类型来决定,并且有一套字节对齐原则(另起一篇细说)。
(3)联合类型(共用体)
使用关键字union
定义,其内存大小取决于成员中最大的类型变量。
union Data {
int a; // 4字节
char b; // 1字节
double c;// 8字节
} data; // 联合体变量data大小为8字节
(4)枚举类型
枚举类型使用关键字enum
定义,其内部成员实际类型是整形,默认从0开始,可以为成员赋初值,则此成员之后的成员的值以赋初值的成员为准。
enum Day {
Sunday, // 值为0
Monday, // 值为1
Tuesday=10, // 值为10
Wednesday, // 值为11
Thursday, // ...以此类推
Friday,
Saturday
};
3. 指针类型
指针是存储内存地址的变量。不同类型的指针占用的字节数取决于系统的位数(例如,在32位系统中为4字节,在64位系统中为8字节)。
4. 空类型(void)
void
类型表示没有类型,常用于函数的返回类型和指针。
二、常量与变量
1. 常量
在程序运行期间,其值不能发生变化的量叫做常量。
例:3.14
,999
2. 变量
在程序运行期间,其值可以发生变化的量叫做变量。
实质:内存中可以存放数据的特定的存储单元,其中存储的数据就是变量的值。
(1)变量名
系统把内存以字节为单位进行划分并进行编号,这个编号就是内存的地址。在定义变量时,会根据数据类型分配内存大小,这时变量名就与该内存的首地址关联起来,然后进行操作,操作系统由变量名就可以知道该内存的地址。
(2)变量的定义
数据类型 + 变量名
- 数据类型:所有C语言合法类型都可以
- 变量名:自己定义的合法的存储数据的空间的名字
例如:
int a; // 定义了一个int型变量,大小为4字节
三、总结
此篇文章简要记述了C语言中基本的数据类型以及常量与变量的基础知识,做复习用。