2012-04-14 54 views

回答

8

任何(非靜態)陣列實質上是一個帶有指向存儲塊的起始的結構體的陣列包含在和長度

空數組只是具有長度== 0

5

一個空的string一個空的數組。這是一個immutable(char)[]類型的空數組。一個空數組是一個長度爲0的數組。我不明白什麼是難以理解的。

無論如何,如果你想更好地理解D中的數組,那麼你應該閱讀this article。這是每個D程序員應該閱讀的東西之一,應該讓你更好地理解D中的數組。

+1

「我不明白什麼是很難理解的。」 '棘輪怪胎'回答後很容易理解。 (array = struct {pointer; length}) 起初我以爲(不正確)'array'只是指向已分配內存塊的指針,所以空的'array'大小爲2將是指向大小爲2的內存塊的指針, 0數組將是指向大小爲0的內存塊的指針。但是內存塊這是一種無稽之談(可能是NULL指針或指向某些_special_內存地址的指針被認爲是空的。) 感謝您的鏈接 – dnsmkl 2012-04-15 08:13:26