在 C 语言中,字符串实际上是使用null字符 '\0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。
下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'};
依据数组初始化规则,您可以把上面的语句写成以下语句:
char greeting[] = "Hello";
以下是 C/C++ 中定义的字符串的内存表示:
一、字符串输入
1. 输入单个字符串
可以使用scanf函数,以空格为分割输入字符串,代码如下:
2. 输入整行字符串
可以使用gets函数,以 '\n' 为分割输入整行字符串,代码如下:小编推荐一个学C语言/C++的学习裙【 六二七,零一二,四六四 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!
二、字符串处理
1. 字符串拷贝
可以使用strcpy函数,代码如下:
注意:1. str1 会覆盖 str2 内容;2. 定义数组是,str2 长度要大于或等于 str1。
也可以使用strncpy函数,代码如下:
注意:str2 的前 n 个字符会被 str1 的前 n 个字符覆盖。
2. 字符串连接
可以使用 strcat 函数,代码如下:
注意:要注意 str2 的长度为 str1 与原 str2 长度之和,str2 最后的 '\0' 字符会自动消失。
也可以使用strncat函数,将字符串的前 n 个字符连接到另一个字符后面,代码如下:
3. 字符串比较
可以使用strcmp函数,代码如下:
4. 字符串长度
可以使用 strlen 函数,代码如下:
几点学习建议:
1.基本概念很重要。无论学C,还是学C++,基本概念都是第一位的,也是比较困难的,但只有把握了基本概念才能把握整体脉络,才能居高临下。
2.C是C++的子集,它的基本概念和设计方法相对比较容易理解,初学者可从它入手。
3.如果要学好C++,建议初学者最好别在如VC,BCB平台下写程序,那种自动化的代码生成,花花绿绿的界面,会让你手足无措。最好先找一片空地(unix,dos),从头做起,写几个大点的程序,数个回合,再到VC,BCB下看看,你会轻松得很。在我看来,学好C/C++是成为VC,BCB高手的必由之路。
4.不要妄想速成,必须得一个byte,一个bit的去抠,尽量搞清楚每一个问题。
领取专属 10元无门槛券
私享最新 技术干货