Review C Notes
基础
数据类型
为了得到某个类型或某个变量在特定平台上的准确大小,您可以使用 sizeof 运算符。表达式 sizeof(type) 得到对象或类型的存储字节大小。
1 |
|
常量
可以使用 const 或 define 定义常量
函数
函数包括 函数声明和函数定义,函数参数可以是传值调用,也可以是引用调用。
进阶
数组
数组定义方式
1 | // 大小固定为 10 |
和其他语言是有些区别的,比如 java 中 int[] array
(因此,便有了定义数组时兼容 C 语言定义数组的说法)。
指针
- 指针的定义
1 | int *ip; /* 一个整型的指针 */ |
所有实际数据类型,不管是整型、浮点型、字符型,还是其他的数据类型,对应指针的值的类型都是一样的,都是一个代表内存地址的长的十六进制数。
不同数据类型的指针之间唯一的不同是,指针所指向的变量或常量的数据类型不同。
函数指针
字符串
结构体
结构体类似于 Java 中的类,自定义一个包含不同数据类型的模块。
1 | struct Books |
比如这里的 Books 结构体,之后就可以用这个 Books 定义变量了。当然,定义变量的形式是多种多样的。
- 结构体可以是函数参数
- 也可以定义结构体指针
- 可以嵌套定义
使用时 books.title
,books.author
。使用 . 操作符即可。
typedef
- C 语言提供了 typedef 关键字,您可以使用它来为类型取一个新的名字
typedef vs #define
#define 是 C 指令,用于为各种数据类型定义别名,与 typedef 类似,但是它们有以下几点不同:
- typedef 仅限于为类型定义符号名称,#define 不仅可以为类型定义别名,也能为数值定义别名,比如您可以定义 1 为 ONE。
- typedef 是由编译器执行解释的,#define 语句是由预编译器进行处理的。
实用
输入、输出
C 语言提供了许多内置的函数用于处理各种不同场景的输入输出。
C 预处理器
简单来说,预处理器完成了文本替换的工作,提高的代码的复用性。