Re: good program
やっぱりちょっと疑問が残るので、もう少しお願いします。
takao@hirata.nuee.nagoya-u.ac.jp (Takao Ono) writes:
> 従って, 同じ配列にある要素を指すポインタ同士の間では大小関係が確
> 定します:
> int a[N];
> int i, j;
> int *p = &a[i], *q = &a[j];
> のとき 0 ≦ i < j ≦ N ならば p < q.
>
> あと, 1個の構造体オブジェクトにおける, 同じ型を持つ異なるメンバー
> を指すポインタ同士の大小関係も確定します:
> struct A {
> int x;
> int y;
> } a;
> int *p = &a.x, *q = &x.y;
> ならば p < q.
ほんとに配列だからとか構造体だからという制約なんでしょうか?
メモリ上に連続したアドレス空間が割当られるようなものに関して
は、たまたま大小関係が成立するということではないのでしょうか。
例えばIA32マシンで4GB以上の配列を作ったとしても大小関係は成
立することが保証されるのでしょうか?
# 実際に配列が作れるかどうかは別として。
また、配列だからとかって制約だとすると、
char *s, *e;
s = (char*)malloc(1000);
e = s + 999;
とした場合は、s < e は成り立たないのでしょうか?
--
01/23 12:33頃
水戸
Fnews-brouse 1.9(20180406) -- by Mizuno, MWE <mwe@ccsf.jp>
GnuPG Key ID = ECC8A735
GnuPG Key fingerprint = 9BE6 B9E9 55A5 A499 CD51 946E 9BDC 7870 ECC8 A735