ポインタについて理解を深めるために演習問題をやるよ

問題2

同様に、文字列の長さをポインタを使って調べなさい。

char str[] = "youetsu@jc-21.jp";
int lenghth = 0;//文字列の長さ
char *p = nullptr;

解答

  1. 記号付きリストchar型のポインタ変数を用意して、文字配列の先頭要素のアドレスを代入しときます
  2. char型のポインタなので、++(インクリメント)すると文字一個分(1byte分)アドレスが進みます
  3. カウントを1増やして
  4. を'\0'が現れるまで繰り返す
int main() {
	char str[] = "youetsu@jc-21.jp";
	int length = 0;//文字列の長さ(カウンタ)
	char *p = str;
	while(*p != '\0')
	{
		length++;	
		p++;
	}
}

戻る