打开主菜单

求真百科

可变长数组

可变长数组是计算机程序设计中,数组对象的长度在运行时(而不是编译时)确定。

目录

简介

支持可变长数组的程序设计语言有: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月采用。

ALGOL68

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 Ⅳ后,开始广泛被使用。