可變長數組

可變長數組

可變長數組是計算機程序設計中,數組對象的長度在運行時(而不是編譯時)確定。

簡介


支持可變長數組的程序設計語言有:Ada,Algol 68(for non-flexible rows),APL,C99(以及C11) ,C#,COBOL,Fortran 90,J。
C/C++的柔性數組成員是另外一個語言特性。

例子


下述C99函數內部的局部變數為可變長數組。
同樣的功能用Ada表示:
等價的Fortran 90函數:

Ada


Ada,是一種程序設計語言。它源於美國軍方的一個計劃,旨在集成美軍系統中運行著上百種不同的程序設計語言編寫的程序,並提高除錯能力與效率,由Pascal及其他語言擴展而成,比較接近自然語言和數學表達式,並用“Ada”命名以紀念埃達·洛夫萊斯(Ada Lovelace)。

APL語言


APL是A Programming Language或Array Processing Language的縮寫。肯尼斯·艾佛森在1962年設計這個語言時他正在哈佛大學工作,1979年他因對數學表達式和編程語言理論的貢獻而得到圖靈獎。在過去數十年的使用歷史中,APL 從它的原始版本開始不斷改變和發展,今天的版本與1963年發表時的版本已經非常不一樣了。但它始終是一種解釋執行的計算機語言。現代的 APL 版本支持其初始版本不支持的結構和模式編程。APL 至今依然使用一種非標準化的字母表,這一直是他人對 APL 的批評。

C99


在ANSI的標準確立后,C語言的規範在一段時間內沒有大的變動,然而C++在自己的標準化創建過程中繼續發展壯大。《標準修正案一》在1994年為C語言創建了一個新標準,但是只修正了一些C89標準中的細節和增加更多更廣的國際字符集支持。不過,這個標準引出了1999年ISO 9899:1999的發表。它通常被稱為C99。C99被ANSI於2000年3月採用。

ALGOL 68


ALGOL 68(源自英語:ALGOrithmic Language 1968的縮寫),一種指令式編程語言,為ALGOL家族的成員,被認為是ALGOL 60的後繼者。它設計的目標,是提供更廣泛的應用,以及更嚴格的語法定義。

C#


C#是微軟推出的一種基於.NET框架的、面向對象的高級編程語言。C#以.NET框架類庫作為基礎,擁有類似Visual Basic的快速開發能力。C#由安德斯·海爾斯伯格主持開發,微軟在2000年發布了這種語言,希望藉助這種語言來取代Java。C#已經成為Ecma國際和國際標準組織的標準規範。

COBOL


COBOL,其名稱來自於通用商業語言(英語:Common Business Oriented Language,又譯為面向常規業務型語言/常規商業信息處理語言)的縮寫,是最早的高階編程語言、以及是世界上最早實施標準化的計算機語言之一。屬於編譯語言。

Fortran


Fortran語言是為了滿足數值計算的需求而發展出來的。1953年12月,IBM公司工程師約翰·巴科斯(J. Backus)因深深體會編寫程序很困難,而寫了一份備忘錄給董事長斯伯特·赫德(Cuthbert Hurd),建議為IBM704系統設計全新的電腦語言以提升開發效率。當時IBM公司的顧問馮·諾伊曼強烈反對,因為他認為不切實際而且根本不必要。但赫德批准了這項計劃。1957年,IBM公司開發出第一套FORTRAN語言,在IBM704電腦上運作。歷史上第一支FORTRAN編程在馬里蘭州的西屋貝地斯核電廠試驗。1957年4月20日星期五的下午,一位IBM軟體工程師決定在電廠內編譯第一支FORTRAN編程,當代碼輸入后,經過編譯,印表機列出一行消息:“源程序錯誤……右側括弧後面沒有逗號”,這讓現場人員都感到訝異,修正這個錯誤后,印表機輸出了正確結果。而西屋電氣公司因此意外地成為FORTRAN的第一個商業用戶。1958年推出FORTRAN Ⅱ,幾年後又推出FORTRAN Ⅲ,1962年推出FORTRAN Ⅳ后,開始廣泛被使用。