From 236cb5557ee9bdec45ae36c5201477ffc9cebf67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=AE=B8=E5=A4=A7=E4=BB=99?= <1900919313@qq.com> Date: Wed, 28 Aug 2024 09:38:54 +0800 Subject: [PATCH] c --- docs/notes/01_c-basic/03_xdx/index.md | 2 +- docs/notes/01_c-basic/07_xdx/assets/1.png | Bin 52275 -> 0 bytes docs/notes/01_c-basic/07_xdx/assets/2.png | Bin 9581 -> 0 bytes docs/notes/01_c-basic/07_xdx/assets/3.png | Bin 7794 -> 0 bytes docs/notes/01_c-basic/07_xdx/index.md | 172 ++-------------------- 5 files changed, 12 insertions(+), 162 deletions(-) delete mode 100644 docs/notes/01_c-basic/07_xdx/assets/1.png delete mode 100644 docs/notes/01_c-basic/07_xdx/assets/2.png delete mode 100644 docs/notes/01_c-basic/07_xdx/assets/3.png diff --git a/docs/notes/01_c-basic/03_xdx/index.md b/docs/notes/01_c-basic/03_xdx/index.md index e18f1e9..eb3c81c 100644 --- a/docs/notes/01_c-basic/03_xdx/index.md +++ b/docs/notes/01_c-basic/03_xdx/index.md @@ -66,7 +66,7 @@ | unsigned long long(无符号长整型) | 8 字节(通常) | 0 ~2^64 -1 | | [signed] long long(有符号长整型,默认) | 8 字节(通常) | - 2^63 ~ 2^63-1 | -> [!IMPORTANT] +> [!NOTE] > > * ① 数据类型在内存中占用的存储单元(字节数),就称为该数据类型的长度(步长),如:short 占用 2 个字节的内存,就称 short 的长度(步长)是 2。 > diff --git a/docs/notes/01_c-basic/07_xdx/assets/1.png b/docs/notes/01_c-basic/07_xdx/assets/1.png deleted file mode 100644 index 338dd78f8054ab6f31ca6ae2410fdf97cc9a3cc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52275 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 diff --git a/docs/notes/01_c-basic/07_xdx/index.md b/docs/notes/01_c-basic/07_xdx/index.md index 8b48268..0c91cb1 100644 --- a/docs/notes/01_c-basic/07_xdx/index.md +++ b/docs/notes/01_c-basic/07_xdx/index.md @@ -13,7 +13,7 @@ > [!NOTE] > -> 之所以指针在 C 语言中颇具争议,是因为一方面其功能强大,直接操作内存地址;另一方面,又很危险,不正确的使用指针的方式,非常容易导致程序崩溃。 +> 之所以指针在 C 语言中颇具争议,是因为一方面其功能强大,直接操作内存地址;另一方面,又很危险,不正确的使用指针,非常容易导致程序崩溃。 * 如果没有能很好的使用指针,就会带来一系列的问题,如: * ① `空指针引用`(Null Pointer Dereference):当一个指针没有正确初始化或者被赋予了空(NULL)值时,如果程序尝试访问该指针所指向的内存,会导致运行时错误,甚至导致程序崩溃。 @@ -53,164 +53,14 @@ > [!IMPORTANT] > -> 总而言之,各种编程语言通过引入不同的策略和机制,如:智能指针、垃圾回收器、所有权和借用,以及强类型系统,有效地减少了指针操作所带来的各种安全性和可靠性问题,提升了程序的稳定性和开发效率。 +> * ① 总而言之,现代化的高级编程语言通过引入不同的策略和机制,如:智能指针、垃圾回收器、所有权和借用,以及强类型系统,有效地减少了指针操作所带来的各种安全性和可靠性问题,提升了程序的稳定性和开发效率。 +> * ② 换言之,现代化的高级编程语言就是在某些方面,如:性能(运行效率)、底层控制(隐藏了许多底层实现细节,以防止程序员意外地引入安全漏洞)和平台特定优化(屏蔽底层硬件细节,如:CPU 寄存器、具体的内存布局,以达到跨平台的目的,这也限制了程序员对底层优化的控制),做出一定的牺牲,以换取开发效率以及程序的稳定性。 -# 第二章:回顾知识 +# 第二章:指针的理解和定义(⭐) -## 2.1 变量 - -* 变量就是保存程序运行过程中临时产生的值,其语法如下: - -```c -数据类型 变量名 = 值 ; -``` - -> [!IMPORTANT] -> -> 变量名(标识符)需要符合命名规则和命名规范!!! -> -> * 强制规范: -> - ① 只能由`小写`或`大写英文字母`,`0-9` 或 `_` 组成。 -> - ② 不能以`数字`开头。 -> - ③ 不可以是`关键字`。 -> - ④ 标识符具有`长度`限制,不同编译器和平台会有所不同,一般限制在 63 个字符内。 -> - ⑤ 严格`区分大小写字母`,如:Hello、hello 是不同的标识符。 -> * 建议规范: -> - ① 为了提高阅读性,使用有意义的单词,见名知意,如:sum,name,max,year 等。 -> - ② 使用下划线连接多个单词组成的标识符,如:max_classes_per_student 等。 -> - ③ 多个单词组成的标识符,除了使用下划线连接,也可以使用小驼峰命名法,除第一个单词外,后续单词的首字母大写,如: studentId、student_name 等。 -> - ④ 不要出现仅靠大小写区分不同的标识符,如:name、Name 容易混淆。 -> - ⑤ 系统内部使用了一些下划线开头的标识符,如:C99 标准添加的类型 `_Bool`,为防止冲突,建议开发者尽量避免使用下划线开头的标识符。 - -* `变量名`的`作用`,如下所示: - * ① 当我们`编写`代码的时候,使用`变量名`来`关联`某块内存的`地址`。 - * ② 当 CPU `执行`的时候,会将变量名`替换`为具体的地址,再进行具体的操作。 - -## 2.2 普通变量和指针变量的区别 - -* 根据`变量`中`存储`的`值`的`不同`,我们可以将`变量`分为两类: - - `普通变量`:变量所对应的内存中存储的是`普通值`。 - - `指针变量`:变量所对应的内存中存储的是`另一个变量的地址`。 -* 如下图所示: - -![img](./assets/1.png) - -* 普通变量和指针变量的相同点,如下所示: - * ① 普通变量有内存空间,指针变量也有内存空间。 - * ② 普通变量有内存地址,指针变量也有内存地址。 - * ③ 普通变量所对应的内存空间中有值,指针变量所对应的内存空间中也有值。 -* 普通变量和指针变量的不同点: - - ① `普通变量`所对应的内存空间`存储`的是`普通的值`,如:整数、小数、字符等;`指针变量`所对应的内存空间`存储`的是另外一个变量的`地址`。 - - ② `普通变量有普通变量的运算方式`,而`指针变量有指针变量的运算方式`(后续讲解)。 - -## 2.3 运算符 - -### 2.3.1 概述 - -* 运算符是一种特殊的符号,用于数据的运算、赋值和比较等。 -* `表达式`指的是一组运算数、运算符的组合,表达式`一定具有值`,一个变量或一个常量可以是表达式,变量、常量和运算符也可以组成表达式,如: - -![img](./assets/2.png) - -- `操作数`指的是`参与运算`的`值`或者`对象`,如: - -![](./assets/3.png) - -* 根据`操作数`的`个数`,可以将运算符分为: - * 一元运算符(一目运算符)。 - * 二元运算符(二目运算符)。 - * 三元运算符(三目运算符)。 -* 根据`功能`,可以将运算符分为: - * 算术运算符。 - * 关系运算符(比较运算符)。 - * 逻辑运算符。 - * 赋值运算符。 - * 逻辑运算符。 - * 位运算符。 - * 三元运算符。 - -> [!NOTE] -> -> 掌握一个运算符,需要关注以下几个方面: -> -> - ① 运算符的含义。 -> - ② 运算符操作数的个数。 -> - ③ 运算符所组成的表达式。 -> - ④ 运算符有无副作用,即:运算后是否会修改操作数的值。 - -> [!IMPORTANT] -> -> 普通变量支持上述的所有运算符;而指针变量并非支持上述的所有运算符,且支持运算符的含义和普通变量相差较大!!! - -### 2.3.2 运算符的优先级 - -* C 语言中运算符的优先级,如下所示: - -| **优先级** | **运算符** | **名称或含义** | **结合方向** | -| ---------- | ---------- | ---------------- | ------------- | -| **1** | `[]` | 数组下标 | ➡️(从左到右) | -| | `()` | 圆括号 | | -| | `.` | 成员选择(对象) | | -| | `->` | 成员选择(指针) | | -| **2** | `-` | 负号运算符 | ⬅️(从右到左) | -| | `(类型)` | 强制类型转换 | | -| | `++` | 自增运算符 | | -| | `--` | 自减运算符 | | -| | `*` | 取值运算符 | | -| | `&` | 取地址运算符 | | -| | `!` | 逻辑非运算符 | | -| | `~` | 按位取反运算符 | | -| | `sizeof` | 长度运算符 | | -| **3** | `/` | 除 | ➡️(从左到右) | -| | `*` | 乘 | | -| | `%` | 余数(取模) | | -| **4** | `+` | 加 | ➡️(从左到右) | -| | `-` | 减 | | -| **5** | `<<` | 左移 | ➡️(从左到右) | -| | `>>` | 右移 | | -| **6** | `>` | 大于 | ➡️(从左到右) | -| | `>=` | 大于等于 | | -| | `<` | 小于 | | -| | `<=` | 小于等于 | | -| **7** | `==` | 等于 | ➡️(从左到右) | -| | `!=` | 不等于 | | -| **8** | `&` | 按位与 | ➡️(从左到右) | -| **9** | `^` | 按位异或 | ➡️(从左到右) | -| **10** | `\|` | 按位或 | ➡️(从左到右) | -| **11** | `&&` | 逻辑与 | ➡️(从左到右) | -| **12** | `\|\|` | 逻辑或 | ➡️(从左到右) | -| **13** | `?:` | 条件运算符 | ⬅️(从右到左) | -| **14** | `=` | 赋值运算符 | ⬅️(从右到左) | -| | `/=` | 除后赋值 | | -| | `*=` | 乘后赋值 | | -| | `%=` | 取模后赋值 | | -| | `+=` | 加后赋值 | | -| | `-=` | 减后赋值 | | -| | `<<=` | 左移后赋值 | | -| | `>>=` | 右移后赋值 | | -| | `&=` | 按位与后赋值 | | -| | `^=` | 按位异或后赋值 | | -| | `\|=` | 按位或后赋值 | | -| **15** | `,` | 逗号运算符 | ➡️(从左到右) | - -> [!WARNING] -> -> * ① 不要过多的依赖运算符的优先级来控制表达式的执行顺序,这样可读性太差,尽量`使用小括号来控制`表达式的执行顺序。 -> * ② 不要把一个表达式写得过于复杂,如果一个表达式过于复杂,则把它`分成几步`来完成。 -> * ③ 运算符优先级不用刻意地去记忆,总体上:一元运算符 > 算术运算符 > 关系运算符 > 逻辑运算符 > 三元运算符 > 赋值运算符。 - -> [!IMPORTANT] -> -> * ① 取值运算符 `*` 和取地址运算符 `&` 的优先级相同,并且运算方向都是从右向左!!! -> * ② 逗号运算符 `,` 的优先级最低,并且运算方向是从左向右!!! - - - -# 第三章:指针的理解和定义(⭐) - -## 3.1 变量的访问方式 +## 2.1 变量的访问方式 * 计算机中程序的运行都是在内存中进行的,变量也是内存中分配的空间,且不同类型的变量占据的内存空间大小不同,如:char 类型的变量是 1 个字节,short 类型的变量是 2 个字节,int 类型的变量是 4 个字节... * 之前我们都是通过`变量名(普通变量)`访问内存中存储的数据,如下所示: @@ -243,7 +93,7 @@ int main() { > * ① 我们通过`变量名(普通变量)`访问内存中变量存储的数据,之所以称为`直接访问`的方式,是因为对于我们写程序而言,我们无需关心如何根据内存地址去获取内存中对应的数据,也无需关系如何根据内存地址将数据存储到对应的内存空间,这些操作步骤都是`编译器`帮助我们在底层自动完成的(自动化)。 > * ② 但是,我们也可以通过`内存地址`去操作内存中对应的数据(手动化),这种方式就称为`间接访问`的方式了,相对于`直接访问`方式来说,要`理解`的`概念`和`操作`的`步骤`和之前`直接访问`的方式相比,要复杂和麻烦很多,但是效率高。 -## 3.2 内存地址和指针 +## 2.2 内存地址和指针 * 其实,在之前《数组》中,我们就已经讲解了`内存地址`的概念了,即:操作系统为了更快的去管理内存中的数据,会将`内存条`按照`字节`划分为一个个的`单元格`,并为每个独立的小的`单元格`,分配`唯一的编号`,即:`内存地址`,如下所示: @@ -302,13 +152,13 @@ int main() { > > 如果你观察仔细的话,你可能会发现`指针变量`和`普通变量`在内存中占据的存储空间是不一样的,那么到底是什么原因造成这样的结果? -## 3.3 指针变量的定义 +## 2.3 指针变量的定义 -## 3.4 指针的作用 +## 2.4 指针的作用 * 查询数据。 * 存储数据。 @@ -404,15 +254,15 @@ int main() { -# 第四章:指针的运算(⭐) +# 第三章:指针的运算(⭐) -## 4.1 概述 +## 3.1 概述 -## 4.2 总结 +## 3.2 总结 * 在 C 语言中,`普通变量`是直接存储`数据`的`变量`。对于普通变量,支持的操作包括: * ① **赋值操作**:给变量赋值,如:`int a = 5`。