2012-04-14 10 views

答えて

8

任意の(非静的)アレイは、実質的にアレイが中に含まれているメモリブロックの先頭へのポインタを持つ構造体と長さ

空の配列は単に長さ==を有する0

5

空の文字列 空の配列です。これはタイプimmutable(char)[]の空の配列です。空の配列は、長さ0の配列です。私はそれについて理解するのが難しいとは分かりません。

Dの配列をより理解したい場合は、this articleを読んでください。すべてのDプログラマが読むべきものの1つで、Dの配列の理解を深めるはずです。

+1

"それについて理解するのが難しいのは分かりません。" 「ラチェット・フリーク」の答えが出てから、それは本当に分かりやすいものでした。 (array = struct {pointer; length}) 最初は 'array'は割り当てられたメモリブロックへのポインタだと思っていたので、サイズ2の空の' array'はサイズ2のメモリブロックへのポインタで、サイズ0の配列は、サイズ0のメモリブロックへのポインタになります。しかし、メモリブロックはナンセンスのようなものでした(おそらくNULLポインターまたは_special_メモリアドレスを指すポインタが空であると考えられます)。 リンクありがとう – dnsmkl

関連する問題