函数的参数为char *

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 *,这样函数的使用会更方便。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,657评论 0 4
  • Lua 5.1 参考手册 by Roberto Ierusalimschy, Luiz Henrique de F...
    苏黎九歌阅读 14,232评论 0 38
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,606评论 3 44
  • 环境:vSphere5.5问题:创建快照事发生错误,之后虚拟机变为无效解决:在vSphere中将该虚拟机从清单中删...
    joyousun阅读 3,765评论 0 0
  • 昨天淘宝一激动买了个仰卧起坐的器材,那么大,搬回去都是个问题... 今天操场跑了7圈 没有跳绳(因为下雨) 俯卧撑...
    暮阳果阅读 196评论 0 0

友情链接更多精彩内容