永发信息网

16.6 C语言char fname[ ][10]={"a.dat","b.dat","c.dat"};是什么意思?

答案:3  悬赏:80  手机版
解决时间 2021-02-26 13:48
  • 提问者网友:人傍凄凉立暮秋
  • 2021-02-25 17:38
主要是前边的空括号不明白什么意思??[10]又是什么意思??
最佳答案
  • 五星知识达人网友:山河有幸埋战骨
  • 2021-02-25 18:03
定义了一个二维字符数组,也可以理解成定义了一个字符串数组,每一个字符串的长度上限为10

在C语言数组的声明中,第一维度的长度是可以省略的,其他维度不行,如果数组只有一个维度,(即一维数组),则不可以省略。

[]中的数字,即数组对应每一维度的长度,如果第一维度长度省略,则可根据总元素数除以维度数得出。

例:
int a[][5]={1,1,1,1,1}; //合法
int a[]={1,1}; //非法

另外需要说明的是,这种写法后必须跟随者元素的声明,不然是非法的

满意请采纳,不满意请追问
全部回答
  • 1楼网友:舊物识亽
  • 2021-02-25 18:49
左右[]的意思,是由右侧初始化数据的长度来确定[]中的值。如你的例子:{}中一共有三个数据,所以长度为3
  • 2楼网友:轮獄道
  • 2021-02-25 18:43
fname[][]是一个二维字符数组。 在定义二维字符数组时,可以有如下方式赋予数组初值 char fname[][10]={"a.dat","b.dat","c.dat"}; 这表示这个二维字符数组有三行,每行10个字节。 第一行的内容是a.dat,剩下的五个字节全是'\0'
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯