百度试题 题目C语言允许对数组的长度作动态定义,即数组长度可以是变量。 ( ) 相关知识点: 试题来源: 解析 错误 反馈 收藏
在传统的C语言标准(如C89/ANSI C)中,数组的长度必须是一个常量表达式,这意味着你不能使用变量来定义数组的长度。例如: c int n = 10; int arr[n]; // 这是非法的,因为n是一个变量 C99标准中引入的变长数组(VLA)特性: 从C99标准开始,C语言引入了变长数组(Variable Length Arrays, VLA)的概念。这...
也只是说你可以用变量去定义数组,但是变长数组的大小在创建后就是不变得,而且变长数组必须的自动的存...
定义数组的时候,数组的长度必须是整数,可以是常量,也可以是变量。 数据的下标也必须是整数,可以是常量,也可以是变量。 使用数组元素和使用同类型的变量一样。 scanf("%lf", &array[4]); // 把一个值读入数组的第5个元素 数组的类型可以是任意数据类型。 int no[20]; // 可储存20个int类型整数的数组 ch...
它限定一个变量不允许被改变,产生静态作用。使用const在一定程度上可以提高程序的安全性和可靠性。 原文:https://zhidao.baidu.com/question/397944225.html ——— java中数组的长度可以用普通变量而不必须是常量是么? __EOF__
C语言为什么不建议把变量作为数组长度?在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C语言从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!在评论区回复“888”,关注我之后私信回复“888”,即可拿走。为编译器擦屁股呗。因为以前很多编译器没有能够把...
C语言中数组定义长度的时候只能用整形常量,不能用整形变量。 原因在于c语言中所有变量空间都是在程序运行之初向系统申请的,包括指针、数组(除了一些动态申请方式如malloc函数),没有申请的空间系统是不允许读写的。也就是说,在程序运行之初,输入操作之前,定义的数组就先要向系统申请自身大小的空间,如果此时数组的大小...
3.1 在 C89 中,必须使用常量表达式指明数组长度;也就是说,数组长度中不能包含变量,不管该变量有没有初始化。 3.2 在 C99 中,可以使用变量指明数组长度。 4 下面的代码使用常量表达式指明数组长度,在任何编译器下都能编译通过: 5 下面的代码使用变量指明数组长度,在 GCC 和 Xcode 下能够编译通过,而在VC 和 VS...
可以,不同的编译器有不同的实现方式,就像你在不同的编译器上运行同样的代码,得到的结果却不一样。
不可以 因为不好编译 不过可以用malloc()申请一段堆内存 这个长度是可变的