c语言中的字符串

一、C语言中的字符串
c语言中没有字符串类型
字符串实际就是多个字符连在一起,所有可以用字符数组来存放字符串。
但是使用字符数组输出时需要使用for循环

例如:


这样使用十分不方便,有没有一种简约的方式,让我们一下子就能输出呢?
有但是需要改两个地方!
        1.长度要+1
        2.末尾要加一个'\0'
然后用 %s(格式化控制符)就可以输出了!
        %s输出:字符串的
例如:


比使用for循环简单多了。


简单来说:
字符串:把多个字符连在一起就叫字符串。但是在C语言中要正确正确描述字符串,必须说成:一串以'\0'结尾的字符集合
例:
        char str[3] = {'a','b','c'};
        只能称之为字符数组,因为无法用%s正确输出
 
        char str[4] = {'a','b','c','\0'};
        才能称之为字符串,可以用%s正确输出


字符串定义和赋值的方法
a、用数组表示
        第一种:用多个字符赋值
            char 数组名[实际长度+1] = { 'a','b','c','\0' }; 
如:char str[4] = {'a','b','c','\0'};
 
        第二种:
            char str[] = {'a','b','c','\0'};//省略长度
如:char str[] = {'a','b','c','\0'};
        第三种:
            char  数组名[实际长度+1] = "字符串";
        例:  char str[4] = "abc";
            注意:这种方式不需要加\0,编译器自动帮我们加
 
        第四种:
            char  数组名[] =  "字符串";//省略长度
        例: char str[] = "abc";
            注意:这种方式不需要加\0,编译器自动帮我们加




b、用指针表示


char *指针变量名 = 字符串常量;
 
        例:  char *str = "abc";




注意:数组表示法和指针表示法的区别:
 
            1.数组表示法可以改变里面的值,指针表示法不可以 


 指针表示法指向的是字符串常量,常量不可改变。


            2.数组表示法可以接收用户输入的值,指针表示法不可以
 同理:指针表示法指向的是字符串常量,常量不可改变。


            3.数组表示法不能用==来判断一个字符串另外一个字符串常量是否相等
                ( 例:char str[]="abc"; if(str == "abc"))
              指针表示法可以用==来判断一个字符串和另外一个字符串常量是否相等strcmp
                 (例:char *str = "abc";  if(str=="abc"))



 比较字符串一般使用字符串比较函数strcmp


  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值