C语言里有常量数组吗?
以下两张图片是用于嵌入式开发的一个工具Uboot里面的一个程序里的一段,看上去好像是在定义一个常量二维数组,一,如果是,有以下两个疑问:1.C语言的数里没有正式说明“常量...
以下两张图片是用于嵌入式开发的一个工具 Uboot里面的一个程序里的一段,看上去好像是在定义一个常量二维数组,一,如果是,有以下两个疑问: 1.C语言的数里没有正式说明“常量数组”这个概念啊! 2. 从前面看“const iop_conf_t iop_conf_tab[4][32] = ”,是在定义一个常量二维数组,应该是4行,每行32个元素,但是从第二张图片看,是32行,每行6个元素, 到底是什么意思呢?二 如果不是,那又是什么意思呢?烦请嵌入式专业人员指教,不胜感激!
展开
2016-08-17
展开全部
iop_conf_t 八成是typedef声明的数组类型
注意定义的格式是
const iop_conf_t iop_conf_tab[4][32] =
{
{
{x,x,x,x,x,x}, ......x32
},......x4
};
所以本质上是一个三维数组
还有这样定义最多说是数据元素是常量,数组元素常量化应该是定义为
iop_conf_t const iop_conf_tab[4][32]
更多追问追答
追问
非常感谢你的回复!
1 既然是三维数组,为什么最里面的一位每有标出来呢?最起码要有空的中括号--[ ]--在那里呀, 要不然别人怎么知道是三维而不是二维,甚至是思维,五维呢!
问什么不写成这样 “const iop_conf_t iop_conf_tab[4][32][6]” ?
2 你的意思是把"const"写在数据类型与变量名之间吧,谭浩强的书里面没有正式的提出 常量数组的概念,哪里有介绍呢?
追答
所以说,iop_conf_t 是什么类型你还是没告诉我,我上面只是猜测,因为只有当它是数组类型的别名,下面的定义才讲得通
另外,C正统语法里没有"常量数组"这个说法,数组就是数组,最多就是数组成员是const属性的
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询