2010-05-21
ポインタの使用制限
概要 |
以前こちらで、ポインタの話を書きましたが、改めて載せたいと思います
Ver 3.40 aで仕様がちょっと変わっているらしいですし
ポインタの再利用禁止などは、アドレス演算などを考えると理由がわかる気がしますね。
配列の参照には使える。
コンパイル時に参照先の値が決まるものはOK
<pointer> = & <array element>; <pointer> = <pointer to same array>;
例:
p = &(a[n]); // 禁止:配列のn番目の要素を代入 p = np; // 禁止:別のポインタへのエイリアス("np"は別の配列への参照)
p = &(a[2]); ... p = &(a[3]); ... p = &(b[3]); // 禁止:一旦a[]に使ったものは、b[]に使えない
p++; // 禁止 p += i*N + j; // 禁止
co_int32 a[10], b, * p; p = a; // 禁止 p = &(a[0]); // OK p = &b; // 禁止
コメントを書く
トラックバック - http://d.hatena.ne.jp/ranf-vision/20100521/1274460299