C语言定义一维数组时数组的下标可以省略吧

如题所述

定义数组形式如下:

1.

int a[5];

如果为全局变量,默认为0,否则值随机。

2.

int a[5] = {1,2,3,4,5};

定义长度与元素值。

如果定义的值的数量少于5个,未定义的值初始化为0;

如果多于5个,报错。

3.

int a[] = {1,2,3};

定义数组的值,长度为空,表示自动分配一个长度为后面元素个数的数组。

4.

char s[] = "adasda";

仅char型数组支持字符串赋值。


注:多维数组只有最高维可以默认。

int a[][2] = {{1,2},{3,4}};

但是不能定义

int a[][] = {{1,2},{3,4}};

追问

那4-1-3 B选择是怎么回事?

追答

应该是答案有问题。

出自 http://c.biancheng.net/cpp/html/50.html

温馨提示:答案为网友推荐,仅供参考
第1个回答  2017-01-27
可以,不过必须给出元素追问

那4-1-3B选择是怎么回事?

追答

我对static不是很了解

追问

难道答案有问题?

追答

B选项是对的

A也是对的

追问

解析是咋回事?

追答

天知道

估计是老式C语言

追问

是静态数组和静态数组的区别吧

是静态数组和动态数组的区别吧

追答

静态数组只分配一次空间,动态数组可以分配多次