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[])
{
} 展开
#define N 40
long Sum(int Sorce[]);
int main()
{
int Sorce[N];
}
long Sum(int Sorce[])
{
} 展开
5个回答
展开全部
该中括号为数组标识。
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]。
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]。
展开全部
函数形参中int Sorce[]其实相当于int* Sorce,所以是指针而不是数组,不信你可以在函数内改变形参Sorce的值,而数组是不可以重新赋值的。C++是不接受数组作形参的。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
数组定义时必须确定长度,系统才知道给它分配多少内存。
数组作为参数传递时实际上传的是数组首地址,即一个指针常量
所以函数也可以这样定义
long Sum(int *Sorce)
{
}
数组作为参数传递时实际上传的是数组首地址,即一个指针常量
所以函数也可以这样定义
long Sum(int *Sorce)
{
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以在定义数组的时候直接赋值,那样就可以省略了列如
int a[] = {1,2,3,4,5};
int a[] = {1,2,3,4,5};
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
加 [] 数组会用到,,,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询