diff --git a/docs/notes/01_c-basic/05_xdx/assets/24.jpeg b/docs/notes/01_c-basic/05_xdx/assets/24.jpeg
new file mode 100644
index 0000000..f6b402b
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/24.jpeg differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/25.gif b/docs/notes/01_c-basic/05_xdx/assets/25.gif
new file mode 100644
index 0000000..3f0af7c
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/25.gif differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/26.gif b/docs/notes/01_c-basic/05_xdx/assets/26.gif
new file mode 100644
index 0000000..17e30fd
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/26.gif differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/27.png b/docs/notes/01_c-basic/05_xdx/assets/27.png
new file mode 100644
index 0000000..a2d113f
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/27.png differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/28.svg b/docs/notes/01_c-basic/05_xdx/assets/28.svg
new file mode 100644
index 0000000..f896972
--- /dev/null
+++ b/docs/notes/01_c-basic/05_xdx/assets/28.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/notes/01_c-basic/05_xdx/assets/29.svg b/docs/notes/01_c-basic/05_xdx/assets/29.svg
new file mode 100644
index 0000000..397b5a0
--- /dev/null
+++ b/docs/notes/01_c-basic/05_xdx/assets/29.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/notes/01_c-basic/05_xdx/assets/30.svg b/docs/notes/01_c-basic/05_xdx/assets/30.svg
new file mode 100644
index 0000000..50e6f80
--- /dev/null
+++ b/docs/notes/01_c-basic/05_xdx/assets/30.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/notes/01_c-basic/05_xdx/assets/31.svg b/docs/notes/01_c-basic/05_xdx/assets/31.svg
new file mode 100644
index 0000000..7891ad7
--- /dev/null
+++ b/docs/notes/01_c-basic/05_xdx/assets/31.svg
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/docs/notes/01_c-basic/05_xdx/assets/32.gif b/docs/notes/01_c-basic/05_xdx/assets/32.gif
new file mode 100644
index 0000000..0ad9999
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/32.gif differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/33.jpg b/docs/notes/01_c-basic/05_xdx/assets/33.jpg
new file mode 100644
index 0000000..ef579fa
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/33.jpg differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/34.jpg b/docs/notes/01_c-basic/05_xdx/assets/34.jpg
new file mode 100644
index 0000000..3f5b674
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/34.jpg differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/35.gif b/docs/notes/01_c-basic/05_xdx/assets/35.gif
new file mode 100644
index 0000000..09955f8
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/35.gif differ
diff --git a/docs/notes/01_c-basic/05_xdx/assets/36.gif b/docs/notes/01_c-basic/05_xdx/assets/36.gif
new file mode 100644
index 0000000..27f1cf7
Binary files /dev/null and b/docs/notes/01_c-basic/05_xdx/assets/36.gif differ
diff --git a/docs/notes/01_c-basic/05_xdx/index.md b/docs/notes/01_c-basic/05_xdx/index.md
index 3c2f4e0..1d9c591 100644
--- a/docs/notes/01_c-basic/05_xdx/index.md
+++ b/docs/notes/01_c-basic/05_xdx/index.md
@@ -1384,3 +1384,144 @@ int main() {
}
```
+
+
+# 第六章:内存中的变量和数组(⭐)
+
+## 6.1 内存和内存地址
+
+### 6.1.1 内存
+
+* `内存`是一种`计算机硬件`,就是`软件`在`运行过程`中,用来`临时存储数据`的。在生活中,最为常见的`内存`就是`随机存取存储器(RAM,内存条`),其特点如下所示:
+ * ① 生活中最常见的内存类型,用于存储当前运行的程序和数据。
+ * ② 内存是易失性存储器,这意味着断电后数据会丢失。
+ * ③ 它具有高速读写特性,适用于需要快速访问的操作。
+
+* 内存条的外观,如下所示:
+
+![](./assets/24.jpeg)
+
+* 像我们平常使用`记事本`软件一样,当我们输入一些文字的时候,其实是将数据`临时`保存在内存中的,如下所示:
+
+> [!NOTE]
+>
+> * ① 目前,很多软件都很智能,如果用户没有将数据到保存文件中,将显示红色,以警告用户还没有保存数据,提醒用户需要尽快保存数据!!!
+> * ② 但是,也有很多软件提供了自动保存数据的功能,其原理就是定时(1s、3s、5s)将内存中的数据刷新到文件中,以防止数据丢失!!!
+> * ③ 将数据从内存存储到文件中,专业的说法是落盘(落在磁盘上)。
+
+![](./assets/25.gif)
+
+* 此时,如果我们在没有保存的过程下,将`记事本`软件关闭,那么刚才输入的文字将丢失;下次,再打开同样的文件(将数据从磁盘加载进内存,再交给 CPU),之前输入的文字将不复存在,如下所示:
+
+> [!NOTE]
+>
+> * ① 目前,很多软件都很智能,如果你没有保存,将提醒你是否保存或丢失刚才输入的文字。
+> * ② 但是,也有很多软件提供了自动保存数据的功能,其原理就是定时(1s、3s、5s)将内存中的数据刷新到文件中,以防止数据丢失!!!
+> * ③ 将数据从内存存储到文件中,专业的说法是落盘(落在磁盘上)。
+
+![](./assets/26.gif)
+
+> [!IMPORTANT]
+>
+> 内存就是软件在运行过程中,用来临时存储数据的,最为重要的两个步骤就是:
+>
+> * ① 将数据`保存`到内存中。
+> * ② 从内存中的`对应位置`将数据`取出来`。
+
+### 6.1.2 内存地址
+
+* 在这个计算机的内存条,动不动就 32GB、64GB 、128GB 或更高的年代,如下所示:
+
+![](./assets/27.png)
+
+* 如果有一个 int (4 个字节)类型的数据 `2` ,如何将这个数据保存到内存中?(对应上述的步骤 ①)
+
+![](./assets/28.svg)
+
+* 就算数据 `2` 已经保存到内存中,那么内存中那么多的数据,我们又该如何取出呢?(对应上述的步骤 ②)
+
+![](./assets/29.svg)
+
+> [!IMPORTANT]
+>
+> 答案就是`内存地址`。
+
+* 操作系统为了更快的去管理内存中的数据,会将`内存条`按照`字节`划分为一个个的`单元格`,如下所示:
+
+![](./assets/30.svg)
+
+> [!NOTE]
+>
+> 计算机中存储单位的换算,如下所示:
+>
+> - 1 B = 8 bit。
+> - 1 KB = 1024 B。
+> - 1 MB = 1024 KB。
+> - 1 GB = 1024 MB。
+> - 1 TB = 1024 GB 。
+> - ……
+
+* 为了方便管理,每个独立的小单元格,都有自己唯一的编号(内存地址),如下所示:
+
+![](./assets/31.svg)
+
+* 之所以,加了内存地址,就能加快数据的存取速度,可以类比生活中的`字典`:
+
+ * 如果没有使用`拼音查找法`或`部首查找法`,我们需要一页一页,一行一行的在整个字典中去搜索我们想要了解的汉字。
+
+ ![](./assets/32.gif)
+
+ * 如果使用`拼音查找法`或`部首查找法`,我们可以很快的定位到所要了解汉字的所在的页数,加快了搜索的效率。
+
+ ![](./assets/33.jpg)
+
+ ![](./assets/34.jpg)
+
+* 同样的道理,如果`没有`内存地址,我们只能一个个的去寻找想要的数据,效率非常低下,如下所示:
+
+![](./assets/35.gif)
+
+* 如果`使用`内存地址,我们就可以直接定位到指定的数据,效率非常高,如下所示:
+
+![](./assets/36.gif)
+
+> [!IMPORTANT]
+>
+> * ① 内存地址是计算机中用于标识内存中某个特定位置的数值。
+> * ② 每个内存单元都有一个唯一的地址,这些地址可以用于访问和操作存储在内存中的数据。
+
+
+
+* 实际中的内存地址,并不是像上面的 `001` 、`002` 、... 之类的数字,而是有自己的规则,即:内存地址规则。
+
+> [!NOTE]
+>
+> * ① 32 位的操作系统中,内存地址以 32 位的二进制表示。
+> * ② 64 位的操作系统中,内存地址以 64 位的二进制表示。
+
+* 在 32 位的操作系统中,内存地址的范围是:`0000 0000 0000 0000 0000 0000 0000 0000` ~ `1111 1111 1111 1111 1111 1111 1111 1111` (2 ^ 32 次方)。
+
+> [!NOTE]
+>
+> 在 32 位的操作系统中,一共有 4,294,967,296 个内存地址,其最大支持的内存大小是 4,294,967,296 字节,即 4 GB 。
+
+* 在 64 位的操作系统中,内存地址的范围是:`0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000` ~ `1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111` (2 ^ 64 次方)。
+
+> [!NOTE]
+>
+> * ① 在 64 位的操作系统中,一共有 18,446,744,073,709,551,616个内存地址,其最大支持的内存大小是 18,446,744,073,709,551,616 字节,即 17,179 TB 。
+> * ② 虽然,从理论上 64 位的操作系统支持的内存最大容量是 17,179 TB;但是,实际操作系统会有所限制,如:win11 的 64 位支持的最大内存是 128 GB ~ 6 TB,Linux 64 位支持的最大内存通常是 256 TB。
+
+* 在实际开发中,64 位操作系统的内存地址表现形式,如:`0000 0000 0000 0000 0001 0000 1111 1010 0000 0000 0010 0000 0000 0010 0000 1000`,实在是太长了,我们通常转换为十六进制,以方便阅读,如:`0x000010FA00200208` 。
+
+> [!IMPORTANT]
+>
+> 总结:
+>
+> * ① 内存地址是内存中每个单元的编号。
+> * ② 内存地址的作用是操作系统用来快速管理内存空间的。
+> * ③ 在 32 位操作系统上,内存地址以 32 位的二进制数字表示,最大支持的的内存是 4 GB,所以 32 位操作系统已经被淘汰。
+> * ④ 在 64 位操作系统上,内存地址以 64 位的二进制数字表示,由于表示形式太长,我们通常会转为十六进制,以方便阅读。
+
+## 6.2 内存中的变量
+