定义数组时,数组的长度可以是变量???急求解!!谢谢
在我所有已知的语言中,静态数组的长度都不可以是变量,这个可以参考语法:char arr[10];但是,如果是动态数组,则长度可以是变量,比如char p = new char[length];另一种可能的情况是数组封装类,这个不同语言有不同实现,比如java中的Array,比如STL中的向量类等等。
数组的长度
数组的长度是个常量表达式,可以包含整型常量、常整型变量和符号常量(整型)。但不能包含变量。
C语言中数组长度不能用变量定义吗?
而const修饰符在星号之后,则表示指针在被声明后不能改变,即只能指向这个获取的空间,完全符合数组的性质 综上所述,如果需要变量控制长度的一个数组,类似“int a[n];”的,可改成“int* const a = (int*)malloc(sizeof(int)*n);”并直接作为数组以[]方式使用。const可以去掉,但要保证使用时...
C语言数组长度可以是一个变量吗
这个长度是可变的
数组长度为什么不能是变量?
数组的大小不能用变量表示的,是因为在编译连接期间内存要按照你制定的长度给数组分配相应的内存空间,如果是变量的话就没有办法给它分配了,你可以用符号常量来解决,在开头用:definem100 definen100然后在程序中就可以定义u[m][n]二维数组了,当不一定非要是100,可以是任何一个正整数。C语言里,...
C语言中可以定义不定长度的数组(即数组长度由变量确定)吗?
这是错误的。 C中有 变长数组 的概念呀(c99标准),“变长”的意思就是 可以用变量来指定数组的长度,而数组一旦创建 长度就无法变化了,而且变量必须赋值在先,变长数组才能创建。某些人不能因为无法正确的设置编译器支持c99标准,而否定了 变长数组 这个用法。
请问定义数组时长度可以用逻辑表达式吗? 比如题目给一个常数n,可以int...
不能在方括号中用变量来表示元素的个数,但是可以是符号常数或常量表达式!这是数组的定义,n在程序里边应该不是常量类型存储的。你说的n为常数,也是自己另外赋值的,它本质上还是一个变量。定义为N是可以的
变量 数组长度C语言
不可以的,C语言规定只能用常量定义数组长度 不过可以这么使用 定义一个足够长的数组,比如100,然后k和m比完以后,用k-1或者k-2作为数组的上界就可以了
在定义数组时,数组大小必须是常量,不能使变量或变量表达式?
对于传统的 C 数组(C90),必须用常量表达式指明数组的大小。C99\/C11新增了变长数组,可以用变量表示数组大小。声明一个简单的一维数组形式如下:type name [ size ];这里,type是数组中每个元素的数据类型,name是数组名,size是数组元素的个数。对于传统的C数组,要求size是整型常量表达式。但是C99...
为什么在c++中定义数组时数组的常量表达式不能包含变量?
你是指常量表示数组大小,还是初始值?但不管是什么,都原理一样,以数组大小为例,在C++中,有些变量是在编译期间,编译器就给分配空间的,有的是运行时候才分配空间,对于编译期间就分配空间的变量,编译器一定要知道它是多少长度的,才能分配适合那个长度的空间,静态数组,临时变量,全局变量之类都是...