美文网首页C/C++知识点
函数的参数为char *

函数的参数为char *

作者: 木鱼_cc | 来源:发表于2018-05-21 21:19 被阅读3次
    size_t myStrlen(char *s)/*注定了这个函数的实参只能是一个数组,
    而不能是一个常量,就是char *s = "hello";的s不能被传进来*/
    =============或===============
    size_t myStrlen(const char *s)//实参可以是常量也可以是数组
    {
       int len = 0;
       while(s[len]){
          len++;
       }
       return len;
    }
    
    int main()
    {
       char *s = "hello";
      const char *s = "hello";
      //指向一个字符串常量的地址
      s[0] = '1';//通过数组来改都报错!!!
    ==============================
    
       char a[6] = "hello";
       a[0] = 1;//正确
       printf("%lu\n",myStrlen(a));
      return 0;
       
    }
    

    当函数的参数是一个字符串的时候,如果函数内部并不改变实参的值,那么就把形参定义为cont char *,这样函数的使用会更方便。

    当一个数组名做为函数参数的时候,就丢失了数组成员的数量了,但当一个字符串做为函数参数的时候,是可以知道字符串有效字符的数量的,所以就不需要额外传递另一个参数标明这个字符串的长度了

    相关文章

      网友评论

        本文标题:函数的参数为char *

        本文链接:https://www.haomeiwen.com/subject/zeaqjftx.html