Re: good program
小野@名古屋大学 です.
<m38yjz2v8o.fsf@kzin.dip.jp>の記事において
co_mon@ybb.ne.jpさんは書きました。
co_mon> ほんとに配列だからとか構造体だからという制約なんでしょうか?
「アドレス空間中の相対位置で大小関係が定義される」と書いておいた
んですけど....
そのうち, 「自動的に確定する例」として「配列」とか「構造体」が
(規格で) 挙げられているんだと思います.
co_mon> メモリ上に連続したアドレス空間が割当られるようなものに関して
co_mon> は、たまたま大小関係が成立するということではないのでしょうか。
上に書いたように「アドレス空間中の相対位置」で定義されていますの
で, 極端には「連続しているかどうか」とは関係なく大小関係は存在し
ます.
co_mon> 例えばIA32マシンで4GB以上の配列を作ったとしても大小関係は成
co_mon> 立することが保証されるのでしょうか?
co_mon> # 実際に配列が作れるかどうかは別として。
もちろん保証されます.
co_mon> char *s, *e;
co_mon> s = (char*)malloc(1000);
co_mon> e = s + 999;
co_mon> とした場合は、s < e は成り立たないのでしょうか?
この場合も同様で, アドレス空間中で s は e より前にありますので
s < e が成り立つことになります.
--
名古屋大学大学院 情報科学研究科 計算機数理科学専攻
小野 孝男
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