11 c语言字符串和字符串函数

一.表示字符串和字符串I/O

字符串是以空字符(\0)结尾char类型数组。注意:如果char类型数组没有以\0结尾则不是一个字符串。

1.字符串字面量(字符串常量)

用双引号括起来的内容称为字符串字面量,也叫字符串常量。

字符串常量属于静态存储类别,这说明如果在函数中使用字符串常量,该字符串只会被存储一次。

2.字符串数组和初始化

const char * pt1 = "Something is pointing at me.";

相当于

const char ar1[] = "Something is pointing at me.";

3.数组和指针

数组形式(ar1[])在计算机的内存中分配一个内含29个元素的数组。此时字符串有两个副本,一个是静态内存中的字符串常量,另一个是储存在ar1数组中的字符串。

指针形式(*pt1)也使得编译器为字符串在静态存储区域预留29个元素的空间。该变量指向该字符串中的首字符。

总结:初始化数组是把静态存储区中的字符串拷贝到数组中,而初始化指针只是把字符串的地址拷贝给指针。

4.数组和指针的区别

char heart [] = "I Love Tillie!";

const char * head = "I Love Tillie!";

①.数组是常量,指针是变量

②.指针表示法可以进行递增操作,数组表示法不可以

③.没有被const修饰的指针表示法可以修改字符串字面量数组不可以修改原始字符串字面量。

二.字符串函数

常用函数strlen()、strcat()、strncmp()、strcpy()和strncpy()。

1.strlen()函数

strlen()函数用于统计字符串的长度。用法:strlen(text)

2.strcat()函数

该函数把第二个字符串的备份附加在第一个字符串的末尾,并把拼接后形成的新的字符串作为第一个字符串,第二个字符串不变。

3.strncat()函数

strcat函数无法检查第一个数组是否能容纳第二个字符串,如果分配给第一个数组的空间不够大,多出来的字符溢出到相邻存储单元时就会出现问题。

用strncat()函数的第三个函数指定了最大添加字符数。例如:strncat(bugs,addon,13)将把addon字符串的内容附加给bugs,加到第13个字符或者遇到空字符停止。

4.strcmp()函数

用于比较字符串内容是否相等

5.strncmp()函数

第三个参数可以指定比较到哪个位置

6.strcpy()和strncpy()函数

strcpy()函数相当于字符串赋值运算符。第一个参数是char *类型,可以从数组的任意位置开始,第二个参数是char *类型,用于被拷贝的字符串。

strncpy()函数更加安全,该函数的第3个参数指明了可拷贝的最大字符数。

7.sprintf()函数

将数据写入字符串中。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

龚礼鹏

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值