• 字符串 上


    字符串

    从概念上讲,C中没有字符串数据类型

    C中使用字符数组来模拟字符串

    C中字符串是以‘’结束的字符数组

    C中字符串能够分配于栈空间、堆空间或者仅仅读存储区

    C中字符串常量表示一块包含字符串中全部字符以及一个空字符('')的内存区域的地址



    字符串长度就是字符串所包括字符的个数

    C中字符串长度指的是第一个‘’字符前出现的字符个数

    C通过‘’结束符来确定字符串的长度



    字符串 存储

    字符数组存储字符串.储存在栈中,能够改动随意一字符

    指针存储字符串.指针存储在栈中,字符串存储在仅仅读存储区.栈中指针存储字符串首地址.不可改动随意一字符


    字符串传递
     
    1.若函数要改动此字符串,则使用字符数组存储

    2.若函数仅是使用,则使用指针存储,并使用const属性

        

    字符串 函数返回

    1.形參方式返回

    2.在函数中使用static修饰要返回的字符数组指针





    TIPS:千万不要返回函数局部变量栈中指针内容


    3.返回字符数组存储局部变量




    返回乱码


    字符串 比較



    比較字符串string1和string2    < 大写和小写混合亦可 >

    返回时刻:遇到同位置不同字符或者''

    返回1   string1返回点字符在string2后面

    返回-1  string1返回点字符在string2前面

    返回 string1全部字符和string2同样

    strcmp不会改动參数值,但依旧以‘’作为结束符
         


    strncmp

    限定n个字符比較    <大写和小写混合亦可>

    返回时刻:遇到同位置不同字符、n个字符或者''

    谨记:安全起见,建议使用strncmp 函数


    字符串  连接



    strncat最多从源字符串中复制len个字符到目标串中

    strncat总是在结果字符串后面加入‘’

    strncat不会用‘’填充目标串中的剩余空间



    谨记:安全起见,建议使用strncat 函数

    字符串 复制



    strncpy仅仅复制len个字符到目标字符串

    当源字符串的长度小于len时,剩余的空间以‘’填充

    当源字符串的长度大于len时,仅仅有len个字符串会被复制,且将不会以‘’结束



    TIPS:注意点

    使用strncpy复制字符串给字符数组,首先应清空字符数组,避免出现末尾乱码



    strncpy仅仅用于字符串复制,而且包括字符串的结束符



  • 相关阅读:
    OC面向对象—封装
    设计模式之类关系
    理性:中国别一厢情愿救俄罗斯(转)
    Mockito--完整功能介绍(转)
    从陌陌上市看BAT的移动保卫战(转)
    This exception may occur if matchers are combined with raw values
    RepositoryClassLoader.java
    搭建你的持续集成server
    mysql中怎样查看和删除唯一索引
    Android中Context具体解释 ---- 你所不知道的Context
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6708817.html
Copyright © 2020-2023  润新知