int a[2]完全成立。int m =2; int a[m] 卻不一定。
在資料中,陣列長度為常量表示式。為什麼是常量,不能是變數呢?因為陣列要開闢記憶體空間,這是在編譯時就開闢好了的。(當然,動態陣列除外,它真的時執行時才分配的) 這裡不妨理解為,程式啟動的兩個步驟:編譯-執行。編譯時,只有一些確定的東西在執行,比如編譯預處理和陣列開闢空間等。執行時才是從頭至尾一步一步。所以1完全成立。
那2怎麼在dev-c可以,vs卻不可以呢?筆者懷疑二者標準不太一樣。
在c99(之前是c89)中
4、對陣列的增強可變長陣列c99中,程式設計師宣告陣列時,陣列的維數可以由任一有效的整型表示式確定,
包括只在執行時才能確定其值的表示式,這類陣列就叫做可變長陣列,但是只有區域性陣列才可以是變長的.
可變長陣列的維數在陣列生存期內是不變的,也就是說,可變長陣列不是動態的.可以變化的只是陣列的大小.
可以使用*來定義不確定長的可變長陣列。
顯然,是可變常陣列的加入導致了這一切。 中國到底有沒有symbian高手?
我朋友從國外帶來一款基於symbians60第三版的手機軟體,國外的軟體開發商聽說他是中國人時不屑的說道 我知道你們中國人破譯軟體的能力很強,但那只是計算機軟體,手機軟體特別是symbian軟體你們中國還沒有這方面人才能夠將我們這款軟體破譯掉。我朋友看著那個外國人鄙夷的嘴臉,真想衝上去揍他一頓。所以...
證書到底有沒有用?
證書有用嗎?有用!在大多數情況下,證書用來對付集體潛意識還是挺管用的,何謂集體潛意識?就是大家認為它有用就有用,大家認為沒用,那就沒有什麼用。我們從小到大,出了出生證明以外 身份證?至少 承受了三種集體潛意識的摧殘 學歷 工作和婚姻。其中,學歷就是指學歷證書,看看乙個人是從 畢業的?最高的學位程度?...
證書到底有沒有用?
證書有用嗎?有用!在大多數情況下,證書用來對付集體潛意識還是挺管用的,何謂集體潛意識?就是大家認為它有用就有用,大家認為沒用,那就沒有什麼用。我們從小到大,出了出生證明以外 身份證?至少 承受了三種集體潛意識的摧殘 學歷 工作和婚姻。其中,學歷就是指學歷證書,看看乙個人是從 畢業的?最高的學位程度?...