===== ポインタについて理解を深めるために演習問題をやるよ =====
==== 演習2 ====
昔やった文字配列を覚えているかな?\\
char str[] = "abc";
これは、"abc"という文字を1文字ずつstrと言う文字型の配列(char型の配列)に並べて初期化するという意味でした。\\
""(ダブルクォート)で初期化すると、文字配列の終わりには、自動的に終端文字(ナル文字)'\0'が追加される仕組みでした。\\
このナル文字を最後に於いておくことで、文字列がどこまで続いているかを判別できます(番兵法だね!)。\\
== 問題1 ==
char str[] = "youetsu@jc-21.jp";
int length = 0;//文字列の長さ
変数lengthに文字列の長さを代入しなさい。(プログラム中で数えるんだよ)\\
=== 解答 ===
ダブルクォートで囲んで文字列を初期化すると(例:"文字列")自動的に最後にナル文字('\0')が挿入される。\\
ちなみに、""で初期化するときは、自動でメモリの大きさが確定するので(文字列の長さからコンパイラが計算できるから)配列の要素数は省略できる。\\
問題を解くためには、ナル文字までの文字数を普通に一個ずつカウントすればよい。\\
カウンタ変数をint型などで用意して普通に数えるよ!\\
int main() {
//初めにchar [] でやってみて
//次にstring でやってみます
char str[] = "youetsu@jc-21.jp";
int length = 0;//文字列の長さ
int i = 0;
while(str[i] != '\0')
{
length++;
i++;
}
//C++使いはstringでやるとかっこいい
std::cout << length << std::endl;
std::string sstr(str);
std::cout << sstr.length() << std::endl;
}
[[game-engineer:classes:2022:game-programing-1:second-term:10:10-23-xx|戻る]]