在C语言中,“字符串” [4]这样的含义和含义是什么?

Thokchom

以下摘自Mike Banahan的C书(链接:第2.8.1.5节)

我知道这"a string"简化为指向存储在内存中某个位置的该字符串的第一个字符的指针。但是我对此一无所知,"a string"[4]而书中给出的内容对我来说还不太清楚。

当字符串有9个字符时,大小如何为4?除此之外,是"a string"[0]指第一个字符,"a string"[2]还是第三个字符,依此类推?如果没有,您可以简单地解释一下这本书的语法是什么意思吗?

杀死我的那一行是“第一个结果产生一个 表达式,其类型为char并且其值是 字母'r'的内部表示形式”“ r”从哪里来?

这是那本书的摘录:

字符串被实现为数组,尽管看起来可能很奇怪,但是完全可以在它们上使用数组索引:

 -  "a string"[4]
 -   L"a string"[4]

都是有效的表达式。第一个结果产生一个表达式,其类型为char,其值为字母'r'的内部表示(记住数组索引从零开始,而不是一个)。第二个具有wchar_t类型,并且还具有字母“ r”的内部表示的值。

注意:请忽略宽字符部分的内容,因为我认为这无关紧要。谢谢你。

姓名

您可以"a string"[4]说明如下:

char *s = "a string";
char ch = s[4];

它使事情更清楚了吗?

s[0]: a
s[1]:  
s[2]: s
s[3]: t
s[4]: r
s[5]: i
s[6]: n
s[7]: g
s[8]: \0

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在C语言中“字符串”被视为“常量”?

来自分类Dev

关于C语言中的数组和字符串的困惑

来自分类Dev

C语言中的结构和字符串

来自分类Dev

在c语言中,两个字符串之间的冒号是什么?

来自分类Dev

在C语言中字符串转换的性能影响是什么?

来自分类Dev

在c语言中,两个字符串之间的冒号是什么?

来自分类Dev

在字符串C语言中查找空格和字母数字字符

来自分类Dev

我想探索Java语言中像C语言这样的字符串的整个字符

来自分类Dev

为什么将字符串传递给scanf()在C语言中可以正常编译?

来自分类Dev

C语言中的%d和%p printf格式字符串指令之间的区别?

来自分类Dev

使用 File IO 和 2Darray 比较 C 语言中的字符串错误

来自分类Dev

语言中字符串的串联读取 LTR 和 RTL

来自分类Dev

C ++标准中14.8.2第3和4款的含义是什么?

来自分类Dev

我应该将我的语言环境设置为什么,这样做的含义是什么?

来自分类Dev

在C和C ++中通过引用传递的含义是什么?

来自分类Dev

C语言中的字符串会发生什么变化?

来自分类Dev

R语言中两个括号的含义是什么

来自分类Dev

用> =比较字符串的含义是什么

来自分类Dev

字符串格式C#{0,12:N0}(冒号和逗号)的含义是什么?

来自分类Dev

在C语言中,为什么在声明字符串后不能将其分配给char数组?

来自分类Dev

为什么我的字符串浮点转换函数返回的数字在纯C语言中略有不同?

来自分类Dev

在普通C语言中,“ while(true)”的适当等价含义是什么?

来自分类Dev

在Groovy语言中如何根据字符串中的值和位置替换字符串中的字符

来自分类Dev

字符串的C ++含义^

来自分类Dev

C ++中void * volatile *的含义是什么

来自分类Dev

C ++中“ Class <>”的含义是什么?

来自分类Dev

C ++中“ Class <>”的含义是什么?

来自分类Dev

C#中〜的含义是什么

来自分类Dev

C ++:表示func()= 30的含义是什么

Related 相关文章

  1. 1

    为什么在C语言中“字符串”被视为“常量”?

  2. 2

    关于C语言中的数组和字符串的困惑

  3. 3

    C语言中的结构和字符串

  4. 4

    在c语言中,两个字符串之间的冒号是什么?

  5. 5

    在C语言中字符串转换的性能影响是什么?

  6. 6

    在c语言中,两个字符串之间的冒号是什么?

  7. 7

    在字符串C语言中查找空格和字母数字字符

  8. 8

    我想探索Java语言中像C语言这样的字符串的整个字符

  9. 9

    为什么将字符串传递给scanf()在C语言中可以正常编译?

  10. 10

    C语言中的%d和%p printf格式字符串指令之间的区别?

  11. 11

    使用 File IO 和 2Darray 比较 C 语言中的字符串错误

  12. 12

    语言中字符串的串联读取 LTR 和 RTL

  13. 13

    C ++标准中14.8.2第3和4款的含义是什么?

  14. 14

    我应该将我的语言环境设置为什么,这样做的含义是什么?

  15. 15

    在C和C ++中通过引用传递的含义是什么?

  16. 16

    C语言中的字符串会发生什么变化?

  17. 17

    R语言中两个括号的含义是什么

  18. 18

    用> =比较字符串的含义是什么

  19. 19

    字符串格式C#{0,12:N0}(冒号和逗号)的含义是什么?

  20. 20

    在C语言中,为什么在声明字符串后不能将其分配给char数组?

  21. 21

    为什么我的字符串浮点转换函数返回的数字在纯C语言中略有不同?

  22. 22

    在普通C语言中,“ while(true)”的适当等价含义是什么?

  23. 23

    在Groovy语言中如何根据字符串中的值和位置替换字符串中的字符

  24. 24

    字符串的C ++含义^

  25. 25

    C ++中void * volatile *的含义是什么

  26. 26

    C ++中“ Class <>”的含义是什么?

  27. 27

    C ++中“ Class <>”的含义是什么?

  28. 28

    C#中〜的含义是什么

  29. 29

    C ++:表示func()= 30的含义是什么

热门标签

归档