見出し画像

C言語-#1.strlen

はお。

strlen

int strlen(const char* s)
{
  const char* top = s;
  while (*s++ != '\0') {}
  return s - top - 1;
}

 ポインタを使用する方法。while の中で \0 になるまでポインタを進める。戻り値は進めたポインタと保持したポインタ(top)の差分に最後に余計に進めてしまった分(1)を引いた値を返す。

 標準関数なんて NULLチェックなんてしないのが当たり前。使う時は気をつけましょう。

悉く書を信ずれば則ち書無きに如かず