如此声明数组正确吗?int n=10,a[n];
来源:百度知道 编辑:UC知道 时间:2024/06/16 19:39:07
int n=10,a[n];这样对吗?
如果正样呢?
const int n =10;
int a[n];
如果正样呢?
const int n =10;
int a[n];
上面说第二种是正确的请注意。
两种都不可以。你光声明的话可能编译器不会报错,
但是,你赋值试试就知道了
例如:
const int n = 10;
int a[n] = {0};
不相信的可以自己试试。
测试环境Dev-C++(gcc)
有错误variable-sized object may not be initialized
意思是,变量大小的对象不能被初始化。
究其原因,请大家参考下面提供的const限定符的具体意义,
const只是限定该函数不可被修改。并不是真正意义上的常量。
宏定义不失为一种方法。不然就malloc、free或者new、delete。
解说完毕。
另:引用一篇文章里的:
关键字const有什么含意?
我只要一听到被面试者说:"const意味着常数",我就知道我正在和一个业余者打交道。去年Dan Saks已经在他的文章里完全概括了const 的所有用法,因此ESP(译者:Embedded Systems Programming)的每一位读者应该非常熟悉const能做什么和不能做什么. 如果你从没有读到那篇文章,只要能说出const意味着"只读"就可以了。尽管这个答案不是完全的答案,但我接受它作为一个正确的答案。(如果你想知道更详细的答案,仔细读一下Saks的文章吧。)
建议看一下http://linux.chinaitlab.com/c/713810_2.html
**补充一下。我说的是C语言。不是C++。
C++的话第一种是错误的,第二种正确
第一种是错误的,第二种是正确的。
对于编译器来说,数组的大小必须在声明的时
二维数组的初始化int a[3][]={{1},{6}}正确吗?
java中的数组赋值给数组问题int[ ] a=new int[10];int[ ] b=new int[8];
c++数组问题 例如:int a[5]={2,10}
c++中,要如何实现根据变量声明二维数组int a[b][c]?
请问能不能声明 int[0]数组?
用Java将数组int a[] = new int a[]{1,10,3,5,6,3,21}排序输出
int a[]={"string"}正确吗?
int a[][3]=2{2*3};是正确定义二维数组,我要专回答家?
编写函数int fun(int a[],int n),其功能是求一维数组中前n个数的最大值,最大值作为函数返回值。
求数组int a[n]中奇数的个数和平均数?