ViVi Home > 技術文書 > ポインタ入門 > ポインタと配列


 

 

C/C++ ポインタ入門 > ポインタと配列
Nobuhide Tsuda
Oct-2013

ポインタと配列

演習問題:

  1. char v[10]; を宣言し、v と &v[0] が同じアドレスであることを確認しなさい
配列ポインタ
宣言例char v[10];char *ptr = &v[0];
要素自動的に確保される自動的に確保されない
i番目の要素v[i]ptr[i]
i番目の要素*(v+i)*(ptr+i)
現要素(*v で先頭要素)*ptr
値の変更v = アドレス; は不可ptr = アドレス; で可能
次に進む不可++ptr または ptr++ または ptr += 1
前に戻るむ不可--ptr または ptr-- または ptr -= 1

ポインタと文字列

演習問題:

  1. 文字列 char str[] = "abc"; の先頭アドレスを表示するプログラムを書きなさい。
  2. 文字列 const char *ptr = "abc"; を実行し、ptr の指すアドレスを表示するプログラムを書きなさい。
  3. 文字列 "abc" の先頭アドレスを const char *ptr に入れ、中身を表示するプログラムを書きなさい。
  4. bool isIncludeX(const char *ptr) 引数として与えられた文字列中に 'X' がある場合は true を、 無い場合は false を返す関数を実装しなさい。

 


前:ポインタの移動 |上:C/C++ ポインタ入門 |次:ポインタへのメモリ割り当て