换个姿势学C语言
0. 说明
《换个姿势学C语言》由何旭辉 著,清华大学出版社2022年出版。感谢何老师!
这是一本非常不错的书!
- 第一、二、三章总结参考换个姿势学C语言 第1-3章
- 第四章总结参考换个姿势学C语言 第4章
- 第五章5.1节总结参考换个姿势学C语言 第5章 5.1节
- 第五章5.2节总结参考换个姿势学C语言 第5章 5.2节
- 第五章5.3节总结参考换个姿势学C语言 第5章 5.3节
5. 获取完整的牌价数据
5.3 字符和字符串
在5.1.2节中,我们已经可以使用一个双精度浮点型数组存储现汇买入价、现钞买入价、现汇卖出价、现钞卖出价和中行折算价。
对于文字,很多语言提供了“字符串”这种数据类型。
字符串可用于存储多个连续的字符。
你在在阅读的教程文本、人名、要显示的货币名称等都是字符串。
字符串中的字符可以是汉字、字母、数字、符号或者其他国家的文字符号。
C语言并没有提供“字符串”这种数据类型。
deepseek的回答:
在C语言中,没有直接提供“字符串”数据类型,而是通过字符数组和字符指针来处理字符串。这种设计有以下几个原因:
历史原因 C语言诞生于20世纪70年代,设计初衷是用于系统编程,强调简洁和高效。当时的内存和处理能力有限,因此C语言选择了一种轻量级的方式处理字符串,即使用字符数组和指针。
灵活性 C语言的设计理念是提供底层控制,允许程序员直接操作内存。通过字符数组和指针,程序员可以灵活地管理字符串的内存分配、复制、拼接等操作,而不依赖于高级语言中的“黑箱”实现。
与硬件的紧密联系 C语言的设计目标是贴近硬件,字符数组和指针可以很好地映射到内存的连续地址空间。这种设计使得C语言在处理字符串时非常高效,适合系统编程和嵌入式开发。
简单性 C语言的核心语法非常简洁,没有引入复杂的字符串类型。通过字符数组和指针,C语言可以用最小的语法开销实现字符串操作。
以
\0
结尾的约定 C语言中的字符串以\0
(空字符)作为结束标志,这种设计简单且高效。虽然需要程序员手动管理字符串的长度和内存,但也避免了额外的存储开销。标准库支持 虽然C语言本身没有字符串类型,但标准库(如
<string.h>
)提供了丰富的字符串操作函数(如strcpy
、strlen
、strcat
等),弥补了语言本身的不足。总结 C语言不提供字符串类型是为了保持语言的简洁性、灵活性和高效性。通过字符数组和指针,程序员可以完全控制字符串的内存和操作,虽然这增加了编程的复杂性,但也使得C语言在系统编程和底层开发中表现出色。
我们先来了解C语言中是如何处理字符和字符串的。