C语言开发基础知识(一)
文章目录
- 数据类型
- 宏
- 变量
- 函数
- inline 内联函数
- static 关键字的作用
- const 关键字的作用
- extern 关键字的作用
- volatile 关键字的作用
- include 关键字的作用
- 数组、字符串
- 指针
- 堆内存管理
- 结构体
- 文件操作
数据类型
C语言中数据类型分有符号和无符号,默认是有符号的。
有符号类型:
数据类型 | 同义词 | 存储空间 |
---|---|---|
signed char | 无 | 1字节 |
int | signed int , signed | 2或4字节 |
short | signed short, signed int、signed short int | 2字节 |
long | signed long, long int、signed long int | 4字节 |
long long | signed long long, long long int、signed long long int | 8字节 |
无符号类型:
数据类型 | 同义词 | 存储空间 |
---|---|---|
unsigned char | 无 | 1字节 |
unsigned int | unsigned | 2或4字节 |
unsigned short | unsigned short int | 2字节 |
unsigned long | unsigned long int | 4字节 |
unsigned long long | unsigned long long int | 8字节 |
C语言定义的int长度不比short 段,不比long长,具体长度取决于编译时指定的目标长度
宏
宏 是「名称 - 替换文本」的映射,预处理时会将源码中出现宏名称的地方展开为指定的替换文本;
宏定义:
#define ARRAY_SIZE 100使用宏:
double data[ARRAY_SIZE]
带参数的宏 注意宏名称和左括号之间不能有空格,否则会变成无参数的宏。
#define DISTANCE(x, y) ((x)>=(y) ? (x)-(y) : (y)-(x))
int d = DISTANCE(1,2)
变量
变量类型 | 作用域 | 生命周期 | 内存区域 |
---|---|---|---|
局部变量 | 函数 | 函数内部 | 栈区 |
全局变量 | 整个项目 | 进程 | 数据区 |
静态局部变量 | 函数内部 | 进程 | 数据区 |
静态全局变量 | 源文件内部 | 进程 | 数据区 |
函数
函数类型 | 作用域 | 存储位置 |
---|---|---|
全局函数 | 整个项目 | 代码区 |
静态函数 | 源文件内部 | 代码区 |
- 函数声明 必须放在函数调用之前,函数声明可以省略形参声明,这依赖于 C语言没有函数重载(C++有函数重载)。函数定义 不一定要放在函数调用之前。形参可以不带参数名。
- printf 占位符
占位符 | 含义 |
---|---|
%d、 |