你好, 欢迎回来｡
我们在一个新的部分｡
在本节中, 我们将 讨论字符串｡
你可能听过我说过 在整个课堂上, 你经常使用字符串这个词,
可能有点困惑｡
字符串实际上只是一个单词｡
这是一个包裹 在双引号中｡
我们将讨论如何 将字符串存储在字符数组中｡
所以到目前为止, 我们 非常熟悉单个字符,
即char数据类型 或“care”数据类型, 无论您想要什么 发音｡ 我们知道那是什么, 但我们还没有真正学会单词｡
将单个字符指定给 字符变量, 则字符括在
一对单引号｡
我们对此很熟悉｡
我们已经了解了这一切｡
在此示例中, 加号 等号加上单引号｡
重要的是 是单引号｡
你也学到了 是单引号和双引号之间的区别｡
所以如果你把加号变量和
你用双引号给它赋值加号的类型是 char, 这是行不通,
因为您只能为单个 字符转换为char数据类型｡
字符串常量或字符串文字 是一对双引号之间的字符或符号序列｡
所以现在双引号 我打算演一出新戏｡
任何介于这两个 引号被编译器解释为字符串｡
所以它真的可以 字母数字字符,
可以是特殊字符, 但 我通常会编一些词, 你可以把它想象成文本｡
你可以有空间｡
但是任何双重的东西 quotes是字符串文字｡
每次您显示
使用printf函数生成消息时, 我们已经定义了 消息作为字符串常量｡
请记住printf, 第一个参数 我们在里面放了一些文本和一些格式说明符｡
这是一个字符串辅音｡
您还会听到字符串这个术语 字面意思是一样的｡
所以我们说print
f这是一个字符串 双引号之间的所有内容都是字符串常量 我们可以把它放在一两行上｡
您还注意到, 您可以
具有带有转义序列反斜杠n的print语句｡ 现在 第三个很酷,
我马上解释｡
但重点是
了解单引号和双引号之间的区别 引号和里面的内容｡
使用双引号, 你有条件｡
使用单引号时, 你有性格｡
有两种类型的常数｡
对于第三个示例, printf 我们有四个, 然后有一个反斜杠,
然后是一个单引号｡
如果你真的想 显示单引号作为输出,
必须对其进行转义｡
而且你还能逃脱特 字符｡
在第三个例子中
打印出四个双引号 然后再加上一个双引号｡
因此编译器解释显式 前面没有反斜杠的双引号作为字符串分隔符｡
每次你用替身的时候
它是一个字符串的开头和结尾但是如果你想 显示它, 然后你必须把反斜杠放在它前面｡
它会告诉编译器 实际上并没有结束字符串｡
这是我们想要的 或者我们想用它作为字符｡
你还得用逃跑
序列, 因为 反斜杠是转义序列｡
所以当你看到反斜杠 反斜杠,
实际上是在printf函数中显示反斜杠.
如果你在别的地方看到它, 您要将反斜杠赋给变量或它的使用方式｡
但后面跟着一个反斜杠 将转义反斜杠字符串｡
再一次, 反斜杠和
字符串总是表示转义序列的开始｡
所以一个人本身就是 不会显示｡
这些是特殊字符｡
所以当你用双引号引起来的时候 您可能会看到用于转义特殊字符的反斜杠
甚至反斜杠本身｡
这是字符串在内存中的作用｡
内存中的字符串 每个单个字符在这里由一个位表示｡
所以如果你有一个字符串 这是一个字符串, 你会看到
空间里有记忆｡
你也应该注意到 结尾反斜杠零是空终止符
这是我们将要讨论的｡
但对于第二弦, 你会看到内存中的所有内容｡
即使是反斜杠n 表示内存中有新行｡
然后对你来说, 你会 请注意, 引用在内存中｡
但反斜杠不是｡
因为反斜杠 正在分隔引号｡
它在逃避引用｡
这就是它在内存中的样子｡
您应该注意到, 字符串 在内存中, 该反斜杠至少还有一个字节
零, 为空字符｡
也看起来像图 是不正确的｡
您会注意到, 此处未显示“您” 所以在引号后面的双引号里, 你看不到你｡
你应该 在某个地方, 这是适用的,
它在某个地方, 他们真的在 下面是ASCII值 只是展示—不展示它, 但你会在右边之前｡
这就是我想说的 about是这个空字符｡
这是一个特殊的字符 代码值为零｡
它被添加到每个字符串的末尾 以便编译器知道它在哪里结束以及何时运行它｡
这个角色被称为
空字符, 而不是只在里面放一个零 你可以加一个反斜杠0｡
而这就是 最后一张幻灯片｡
它可能在任何地方 实际上是在内存中｡
取决于它在哪里 一个函数会去寻找直到它看到
反斜杠零, 它可能会显示它, 也可能在您
使用不同的字符串函数｡
这很重要 空字符｡
字符串始终以 空字符｡
所以字符串的长度是 始终比字符串中的字符数大1｡
这将变得非常重要
当我们使用字符数组并指定 数组的大小必须比
因为这个空字符, 所以您要储存许多字符｡
我们也有一个空的概念 我们还没有详细讨论过｡
它通常会发挥作用
当我们谈论指针时, 但不要混淆空值 字符与null关键字｡
所以在其中一个 可以使用包含头｡
这是一个象征 表示不引用任何内容的内存地址｡
所以当你 当您使用指标时｡
空字符只是 字符串终止符｡
我们将在下面的文章中详细讨论null 讨论指针, 但要确保您理解指针与
空字符和空关键字｡
您可以添加反斜杠零字符
这将创建两个字符串和 当我们讨论定义字符数组时, 我将向您演示如何执行此操作｡
这里有一个例子 空终止符｡
我们有一个指纹, 我们说 字符,
然后是结束字符串的反斜杠零｡
所以接下来的情况是 编译并运行这个程序,
你将得到的输出是 第一行是字符然后是反斜杠o 会有一个它会结束它, 只有第一部分
字符串将被显示｡
不会再有了 输出, 因为print认为它是字符串的结尾｡
所以它只打印出字符｡
输出将在之后结束 因为函数一旦停止输出
它到达空字符｡
所以第二个反斜杠0 字符串的结尾, 所以即使你看不到反斜杠零
在结束双引号之前,
字符串点之后, 那里还有一个, 但你永远也达不到
所以这里有一个隐式的null终止符 在字符串和printf的末尾, 这样它就知道在哪里结束｡
如果你再加一个, 会显示到第一个｡
所以第一个空终止符 在字符串中找到的字符始终标记字符串的结尾｡
所以要理解这些空字符｡
这只是一个简单的概述
来描述字符串并理解它 字符串用双引号括起来｡
我还想描述一下 空字符｡
在下一节课中,
我们将 了解字符串是什么, 以及如何创建 这些不同类型的变量来存储字符串｡
-谢谢—谢谢