C语言之字符串

发布时间:2020-07-02 22:09:17 作者:师趣妮
来源:网络 阅读:175
/*
字符串 : 有序的字符序列.本质 : 字符数组,不同的是,创建字符串时,系统默认在字符串末尾添加字符串结束标志"\0",因此字符串在内存中的实际长度比字符串的长度多一;
    定义格式 : char 字符串名称[字符串长度];    //注: 字符串长度指的是字符串在内存中的实际长度;
    初始化 : 1,定义的同时初始化,如 : char string[3] = "ab";    //此时字符串长度可省略;
             2,定义后,在初始化,如 : char string[3];string = "ab";    //此时,不在允许一次性赋值,只能够分别为每一个位置赋值
             3,通过数组定义字符串 : char string[3] = {'a', 'b', '\0'};    //当然,如果赋值时,元素的长度小于字符串的定义长度,此时,"\0"可不写,
                                                                            因为默认空白位置的值就是"0",而"0"就是"\0"的ASCII值;
    字符串的输入输出 :
        输出 : printf("string = %s",string);    //输出过程分析 :字符串的本质即为一个字符数组,因此作为实参时,实际上传递给函数的是字符串在内存中的地址,
                                                                 首先,判断该地址指向的字符是否为"\0",如果是,什么也不输出,跳出函数;如果不是,输出该字符,
                                                                  地址加1,继续上述判断,直至遇到"\0";
               puts(string)    //原样输出,自动换行;
        输入 : scanf("%s",&string)    // 注 : 接收字符串时,默认以空白字符结束,因此无法接收含有空白字符的字符串;
               gets(string)    //注 : 此函数可接受含有空白字符的字符串,但该函数并不安全;
        计算字符串长度 : include <string.h>
                         size_t length = strlen(string);    //原理 : 从传入的地址开始,逐个判断计数,直至"\0",利用指针可自己实现该函数;
        字符串的连接 : include <string.h>
                       strcat(dest, src)    //将src拼接至dest,由于是直接对dest进行操作,因此要求dest有足够的长度接收src;
                       strncat(dest, src, size_t)    //size_t参数接收拼接至dest的src中字符的个数,目的在于保证dest的安全,当src的长度大于dest能够接受的字符
                                                       串长度时,有可能会挤占dest中"\0"的位置,导致字符串无法正确结束,而错误访问其他内存空间;
        字符串拷贝 : strcpy(dest, src)
                     strncpy(dest, src, size_t)
        字符串比较 : strcmp(dest, src)    //返回0,则两个字符串相等;返回整数,字符串不等,且首次遇到的不等位置的字符的ASCII值大于另一个字符串对应位置的字符的
                                            ASCII值;如果小于0,字符串不等,且首次遇到的不等位置的字符的ASCII值小于另一个字符串对应位置的字符的ASCII值
        字符串数组 : 本质 : 二位数组;
*/


推荐阅读:
  1. Swift之字符串(String)
  2. python 学习之字符串

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

c 符串

上一篇:java 链接 sqlite数据库

下一篇:vmware克隆centos修改mac地址

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》