From c8b83f3b37b6e69be5a92aed33e4e52a487e8756 Mon Sep 17 00:00:00 2001 From: Ir1dXD Date: Fri, 23 Nov 2018 22:50:39 +0800 Subject: [PATCH] feat: elaborate --- docs/string/index.md | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/docs/string/index.md b/docs/string/index.md index cda0e280..4599eb53 100644 --- a/docs/string/index.md +++ b/docs/string/index.md @@ -18,6 +18,10 @@ 同时 STL 中也提供了字符串容器 `std :: string` -??? note - 另外,在 `C / C++` 中也可以声明字符串常量,比如 `char *buf = "XD"`,它们的值在编译过程中已经确定,保存在可执行目标文件的 `.rodata` 段内 - 调用 `objdump -s -j .rodata 文件名` 可以查看 `.rodata` 段的具体内容 +另外,在 `C / C++` 中也可以声明字符串字面量,比如 `char *buf = "XD"`。 + +## 字符串存储的位置 + +- 字符串字面量:它们的值在编译过程中已经确定,保存在可执行目标文件的 `.rodata` 段内。 + 调用 `objdump -s -j .rodata 文件名` 可以查看 `.rodata` 段的具体内容。 +- 字符数组、`vector`、`string`:局部变量保存在栈中,全局变量若初始化了保存在可执行目标文件的 `.data` 段内,若未初始化保存在 `.bss` 段。 -- 2.11.0