int x,y;
int *p;
p = &x; //pにxのアドレスを記入する。
y = p; //これだとpをyに代入することになる。
y = *p; //pに書かれたアドレスにあるものをyに代入する。
しかし配列変数の場合の理解ができないです。
int x[10];
int y;
int *p;
p = x; //pにxの先頭のアドレスを代入する。何故&がつかないのか?
y = p[5]; //ここに書かれたアドレスにロッカーの0番があり、それの5番にあるものをyに代入する。*は何故必要ないのか?
これだと普通にy = x[5];と書いた時と変わらないですよね。
他にも配列変数z[10]があった場合に参照するアドレスをxとzに切り替えながら使えるってことでしょうか。
配列になると一気に混乱してしまいます。
追記
もしかしてこれがないと出来ないことというのは少なく、もっと沢山のものが出てきたときにコードが複雑になり過ぎないようにする為なのでしょうか?