C/C++知识点

函数的参数为char *

2018-05-21  本文已影响3人  木鱼_cc
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 *,这样函数的使用会更方便。

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

上一篇 下一篇

猜你喜欢

热点阅读