假設我有以下的數組:數組的元素是否保證從低地址到高地址存儲?
int list[3]={2,8,9};
printf("%p,%p,%p",(void*)&list[0],(void*)&list[1],(void*)&list[2]);
是否總是保證&列表[0] < &列表[1] < &表[2]?
我曾以爲這是一個硬性規定,而使用C,但現在必須非常肯定它作爲OP剛纔問我這件事時,我回答了他的問題有關endianness
是什麼給了我第二個想法是stacks can grow up or down
issue.I不是很肯定,如此你的嚴謹的答案是appreciated.Thanks。
'&的情況下( list [n])'是我認爲每個標準相當於'list + n'。 C中的數組索引表示法不過是將值添加到指針的簡寫。內存保留的方式可以確保'+'的工作原理 – wirrbel 2013-05-06 11:00:54
您是在問C中的事物是如何出現的,或者它們是如何在內存中出現的? – 2013-05-06 11:06:00
@EricPostpischil給我你的意見對兩者簡單地說,通過comment.Though我更感興趣的有關實際內存。 – 2013-05-06 11:23:13