C语言,第1张

C语言,第2张

数组是几个相同类型的变量的集合,这些变量可以用相同的名称引用。数组由连续的存储单元组成,最低地址对应数组的第一个元素,地址对应最后一个元素。该阵列可以是一维的或多维的。
一维数组的一般描述形式如下:
类型说明符var _ name[size];
在C语言中,必须显示数组的描述,这样编译器才能为它们分配内存空。在上面的公式中,类型说明符表示数组的类型,即数组中每个元素的个数。一维数组的总字节数可以根据以下公式计算:sizeof (type) *数组长度=总字节数
[例5-1]将数字0到9加载到一个整数数组中。
main()
{
int x[10];/*定义一个包含10个整数的数组,引用为x[0],x[1]...x[9]*/
int t;
for(t = 0;T }
C语言不检查数组的边界,所以数组两端都有可能越界,这可能破坏其他变量的数组,甚至破坏程序代码。必要时,检查数组的边界是程序员的责任。例如,当使用gets()接收字符输入时,必须确保字符数组足够长,能够容纳最长的字符串。
一维数组本质上是由同类数据组成的表。比如下面的数组a:
char a[7]
图5-1说明了数组A在内存中的情况,假设起始地址为1000。

5.1.1向函数传递一维数组
向函数传递一维数组时,可以直接用数组名作为参数调用函数,不需要任何下标。这样,数组第一个元素的地址将被传递给函数。c语言不把整个数组作为参数传递,而是用指针代替。例如,下面的程序将数组I的第一个元素的地址传递给函数func1()。
main()
{
int I[10];
func 1(I);/*函数调用,实际参数是数组名*/



}
如果函数要接收一维数组,可以使用以下两种方法之一解释形参;1)有界数组;2)无界数组。比如func1()要接收的数组I可以这样解释:
f u n c 1(s t r)
char s[10];/*有界数组,数组的下标只能小于或等于传递的数组的大小。*/
{


}
也可以解释为:
f u n c 1(s t r)
char s[];/*无界数组*/
{



}

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » C语言

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情