c 字符串数组_小白学习C语言之字符串操作总结大全

8808f37816aa229b94c25d7a660801eb.png

在 C 语言中,字符串实际上是使用null字符 '0' 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。

下面的声明和初始化创建了一个 "Hello" 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 "Hello" 的字符数多一个。

char greeting[6] = {'H', 'e', 'l', 'l', 'o', '0'};

依据数组初始化规则,您可以把上面的语句写成以下语句:

char greeting[] = "Hello";

以下是 C/C++ 中定义的字符串的内存表示:

9e239e65ee1800269c85470c7409c654.png

一、字符串输入

1. 输入单个字符串

可以使用scanf函数,以空格为分割输入字符串,代码如下:

6980aaec24fc0df71452b13612b87331.png

2. 输入整行字符串

可以使用gets函数,以 '' 为分割输入整行字符串,代码如下:

a44638ad3e0afba4e66a011e0ffdafc7.png

二、字符串处理

1. 字符串拷贝

可以使用strcpy函数,代码如下:

b1f1d752600e93dd6ab49c762ae4a33d.png

注意:1. str1 会覆盖 str2 内容;2. 定义数组是,str2 长度要大于或等于 str1。

也可以使用strncpy函数,代码如下:

f88a61ce8ef33df04d82a3b8aff8029c.png

注意:str2 的前 n 个字符会被 str1 的前 n 个字符覆盖。

2. 字符串连接

可以使用 strcat 函数,代码如下:

eb6a322ca8320f28b1b14a03b6ff7ed7.png

注意:要注意 str2 的长度为 str1 与原 str2 长度之和,str2 最后的 '0' 字符会自动消失。

也可以使用strncat函数,将字符串的前 n 个字符连接到另一个字符后面,代码如下:

2a3f81631942894f96230df4fe43176f.png

3. 字符串比较

可以使用strcmp函数,代码如下:

5a7cedb88334f65f433a5cc69a403b5c.png

4. 字符串长度

可以使用 strlen 函数,代码如下:

47e6f602900a6d66b22c38248fbbb4c1.png
6db08f0ded30f93f2cbef724259a72c9.png

几点学习建议:

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++的小伙伴可以加入学习。最后祝所有程序员都能够走上人生巅峰,让代码将梦想照进现实,非常适合新手学习,有不懂的问题可以随时问我,工作不忙的时候希望可以给大家解惑。

学习思路:

a53bfc13b29e9be2c90b00af075f29e8.png

学习资料:

f09045e10a98c62cfee68cd9a1b27ccf.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值