在 C 语言中,字符串实际上是使用null字符 '0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。
下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。
char greeting[6] = {'H', 'e', 'l', 'l', 'o', '0'};
依据数组初始化规则,您可以把上面的语句写成以下语句:
char greeting[] = "Hello";
以下是 C/C++ 中定义的字符串的内存表示:
一、字符串输入
1. 输入单个字符串
可以使用scanf函数,以空格为分割输入字符串,代码如下:
2. 输入整行字符串
可以使用gets函数,以 '' 为分割输入整行字符串,代码如下:
二、字符串处理
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的去抠,尽量搞清楚每一个问题。
文章最后
怎么快速学C/C++,有什么方法,打算深入了解这个行业的朋友,可以加C/C++学习群:1023934779,不管你是小白还是大牛,小编我都欢迎,不定期分享干货,包括小编自己整理的一份2019最新的C/C++资料和0基础入门教程,欢迎初学和进阶中的小伙伴。
每天晚上20:00我都会开直播给大家分享C/C++编程学习知识和路线方法,群里会不定期更新最新的教程和学习方法,大家都是学习C/C++的,或是转行,或是大学生,还有工作中想提升自己能力的前端党,如果你是正在学习C/C++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。
学习思路:
学习资料: