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チェックなんてしないのが当たり前。使う時は気をつけましょう。
悉く書を信ずれば則ち書無きに如かず