| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 723 人关注过本帖
标题:关于声明数组的两个问题,请赐教
只看楼主 加入收藏
hsnr
Rank: 1
等 级:新手上路
帖 子:83
专家分:0
注 册:2010-4-4
结帖率:90.32%
收藏
已结贴  问题点数:20 回复次数:6 
关于声明数组的两个问题,请赐教
鄙人在C++编程时用到以下两个数组声明的语句,有一位计算机专业的教授说我这样定义是错误的,她的说法是,二维数组不能缺省行数、一维数组不能用大写的字母A作为数组名,她说大写字母A在C++语言中有特殊的用法,弄得我雾煞煞的,哪位同志能告诉我她的说法对吗?声明语句如下:
int A[10],B[][5];
搜索更多相关主题的帖子: 声明 
2010-11-26 16:12
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
注意一下编程规范
1. 函数名的单词的每个首字母要大写
2. 变量名要小写,多个单词之间用“_“隔开(包括数组)
3. 常量所有字母要大些
二维数组当然要指定行数,除非是这样 int a[][3]={1,2,3,4,5,6};
相当于a[2][3]  有编译系统自定去识别  
但是这样不好  要注意编程规范  不然你写的代码没人愿意去看

                                         
===========深入<----------------->浅出============
2010-11-26 19:00
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:5 
有些属于编程风格的,其实也不算规范。
比如函数名每个首字母大写的说法,好像是微软比较爱使。有很多人对这种写法深恶痛绝,觉得极为难看。

不过确实有些风格是大家一致比较喜欢的,比如常量或者宏的所有字母都用大写之类的。

这个风格什么的,最重要的其实是在一编程的时候保持一致性。不要一会这用这风格,一会那又变了。
还有就是要看环境,养成良好代码的风格。写和大家一致的代码,可以使别人理解你的代码时更容易,同时就会提高别人对你的主观印象。这和写作文时字迹工整的效果差不多。


至于楼主的问题,首先那个 A 的肯定是可以的,没有语法错误。
另一个 B 的问题,相对复杂一些。这有两个概念:一个叫声明(declaration),还有一个叫定义(definition)。
在声明数组时,缺省中括号里的常量表达式也被视作声明。语法上称这种声明声明了一种非完整对象类型(incompleted object type),这种声明不能用作定义。不过完整声明也不一定是定义,情况还是很多样的。
2010-11-26 19:36
kittel
Rank: 2
来 自:武汉
等 级:论坛游民
威 望:1
帖 子:38
专家分:73
注 册:2010-11-19
收藏
得分:5 
回复 楼主 hsnr
数组在声明的时候要么写上维数,如果没写维数则需在后面添加定义,则系统会自动按照定义中的元素情况决定数组的大小。
如果既写维数,又有定义,但定义的元素小于维数,则系统将其他元素自动设为0。
你的第二个定义不对,需在后定义元素。如果不写列数,应该可以这样,int a[5][]={{1,2,3}};这样系统会自动将列数设为3。
2010-11-27 16:00
kittel
Rank: 2
来 自:武汉
等 级:论坛游民
威 望:1
帖 子:38
专家分:73
注 册:2010-11-19
收藏
得分:0 
回复 楼主 hsnr
我刚才说错了,好像列数确实要在声明时写上维数。。
2010-11-27 16:19
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:5 
回复 4楼 kittel
你的第二个定义不对,需在后定义元素。如果不写列数,应该可以这样,int a[5][]={{1,2,3}};这样系统会自动将列数设为3。
int a[5][]={{1,2,3}};     先把你的这句话拿到编译系统里面编译一下  看看有没有错误再拿上来   误导人

                                         
===========深入<----------------->浅出============
2010-11-27 18:31
kittel
Rank: 2
来 自:武汉
等 级:论坛游民
威 望:1
帖 子:38
专家分:73
注 册:2010-11-19
收藏
得分:0 
回复 6楼 laoyang103
我都说了,写错了嘛
2010-11-29 13:20
快速回复:关于声明数组的两个问题,请赐教
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.041077 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved