ポインタを習い始めましたが、よく分からないので質問させてもらいます。
いろいろやってみたのですが独学なので本当に困っています。
どうかお願い致します・・・
問題は↓のようなものです
以下のプログラムを実行した場合に、各変数の値は①~④の時点で順次どの
ような値になっているか。
ただし、32bit処理系で実行しているものとし、n[0]、n[1]、・・・は夫々
0x1000番地、0x1004番地、・・・に存在するものとする。
/********************************************************************/
int n[7] = {0,1,2,3,4,5,6}; /* int型の配列を宣言し初期値を設定 */
int *p; /* ポインタ変数を宣言 */
p = &n[0]; /* ポインタ変数を初期化 */
*p = 5; /* ポインタを利用して値を変更 */
/* ①この時点で、pの値とn[0]~n[6]の各値は何か? */
p++; /* ポインタ変数をインクリメント */
*p = 6; /* ポインタを利用して値を変更 */
/* ②この時点で、pの値とn[0]~n[6]の各値は何か? */
p = &n[5]; /* ポインタ変数の値を変更 */
*p = 7; /* ポインタを利用して値を変更 */
/* ③この時点で、pの値とn[0]~n[6]の各値は何か? */
p -= 2; /** ポインタ変数を2減算 /
*p = 8; /* ポインタを利用して値を変更 */
*(p+3) = 9; /* ポインタを利用して値を変更 */
/* ④この時点で、pの値とn[0]~n[6]の各値は何か? */
/********************************************************************/