C语言数组中括号的问题

为什么在intmain()中定义数组的括号内必须加N,而函数数组中的定义数组时未加N?#defineN40longSum(intSorce[]);intmain(){in... 为什么在int main()中定义数组的括号内必须加N,而函数数组中的定义数组时未加N?
#define N 40
long Sum(int Sorce[]);
int main()
{
int Sorce[N];
}

long Sum(int Sorce[])
{
}
展开
 我来答
tattackor
2015-10-30 · TA获得超过3.5万个赞
知道大有可为答主
回答量:5083
采纳率:94%
帮助的人:874万
展开全部
该中括号为数组标识。
C语言支持定义一系列相同连续的变量空间,其定义形式为
type name[N];
代表定义个数为N,每个元素类型均为type型的数组变量name。
int a[100]就是定义一个元素个数为100个的整型数组a。
对于a中元素的调用同样是通过中括号对来实现的,当调用a[n]时,代表第n个元素。
需要注意的是,在C中规定,数组元素的下标n是从0开始计数的,所以对于定义的a[100], 其合法的元素为a[0], a[1], ... , a[99]。
loboho
2012-11-23 · TA获得超过506个赞
知道小有建树答主
回答量:441
采纳率:100%
帮助的人:407万
展开全部
函数形参中int Sorce[]其实相当于int* Sorce,所以是指针而不是数组,不信你可以在函数内改变形参Sorce的值,而数组是不可以重新赋值的。C++是不接受数组作形参的。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
呼的骨n
2012-11-22 · TA获得超过132个赞
知道答主
回答量:76
采纳率:0%
帮助的人:26万
展开全部
数组定义时必须确定长度,系统才知道给它分配多少内存。
数组作为参数传递时实际上传的是数组首地址,即一个指针常量
所以函数也可以这样定义
long Sum(int *Sorce)
{
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友ce1552586
2013-04-15
知道答主
回答量:75
采纳率:0%
帮助的人:30万
展开全部
可以在定义数组的时候直接赋值,那样就可以省略了列如
int a[] = {1,2,3,4,5};
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
杨志回忆928
2012-11-23 · 贡献了超过104个回答
知道答主
回答量:104
采纳率:0%
帮助的人:22.7万
展开全部
加 [] 数组会用到,,,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式