字符串操作

1.存储字符串变量

char str[20]="hello world";
这个变量可以存储一个至多包含19个字符的字符串
char str[]="hello world" ;
这里编译器会指定一个足以容纳这个初始化字符串常量的数值

2.确定字符串长度
  • 方法一
char str1[]="to be or not to be";
int count = 0;
while(str1[count]!='\0')
++count:
  • 方法二
    strlen函数
    注意其与sizeof 的区别
2.复制字符串

strcpy
它可以把第二个参数指定的字符串复制到第一个参数指定的位置上。

char str1[]="hdsio jsdj";
char str2[]="sdjj";
str1[]=strcpy(str1[],str2[]);

输出结果为str2的字符串

3.连接字符串

strcat
顾名思义,连接 就是指把一个字符串复制到另一个字符串的末尾
注意:
1.目标字符串的可用空间要足够,不会覆盖其他数据,甚或地址
2.连接得到的字符串末尾有\0字符

4.比较字符串

strcmp
strcmp(str1,str2);
两个字符串比较大小,是比较他们的字符的ASCII码的大小,函数返回一个小于、大于、或等于0的int 值,分别对应str1小于、大于、等于str2.

char str1[]="afcde";
char str2[]="acdejoj";
if(strcmp(str1,str2))
printf("%s",str1);

依次比较两个字符串中各字符对应ASCII码的大小,当str1中某字符码值大于str2中的字符值时,我们就称第一个字符串大于第二个字符串

5. 使用指针处理字符串

前面我们使用char 类型的数组元素存储字符串,也可以使用char类型的指针变量引用字符串。

  • char *schar s[] 的区别

char *s中的s是指针,而指针是指向一块内存区域,它指向的内存区域的大小可以随时改变,而且当指针指向常量字符串时,它的内容是不可以被修改的,否则在运行时会报错。

char s[]中的s是数组首地址,而数组首地址对应着一块内存区域,其地址和容量在生命期里不会改变,只有数组的内容可以改变。

  • 对于char ** s,下面正确的语句是
    *s="ABCDE":
    char 是一个字符类型.
    char* 是一个字符数组.
    char** 可以看作指向char*的指针
    对于char** s来说,**s指向的是字符
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值