===== ポインタについて理解を深めるために演習問題をやるよ ===== ==== 演習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|戻る]]