ポインタについて理解を深めるために演習問題をやるよ
問題2
同様に、文字列の長さをポインタを使って調べなさい。
char str[] = "youetsu@jc-21.jp"; int lenghth = 0;//文字列の長さ char *p = nullptr;
解答
- 記号付きリストchar型のポインタ変数を用意して、文字配列の先頭要素のアドレスを代入しときます
- char型のポインタなので、++(インクリメント)すると文字一個分(1byte分)アドレスが進みます
- カウントを1増やして
- を'\0'が現れるまで繰り返す
int main() { char str[] = "youetsu@jc-21.jp"; int length = 0;//文字列の長さ(カウンタ) char *p = str; while(*p != '\0') { length++; p++; } }