当前位置:文章写作网 >日记 >日记 >c语言之一维数组

c语言之一维数组

2008-06-27 14:33 作者:tshfang 阅读量:2661 推荐8次 | 我要投稿

数组:若干同类型变量的集合。通过下标访问,数组是由连续的内存构成,最低地址对应首元素,最高地址对应末元素。

一般形式:

type name[size]

例子:

int main(void)

{

int arr[10];

int i;

for (i=0;i<10;i++)

{

arr[i]=i;

}

for(i=0;i<10;i++)

{

printf("arr[%d] is %d \n",i,arr[i]);

}

getch();

return 0;

}

结果:

arr[0] is 0

arr[1] is 1

arr[2] is 2

arr[3] is 3

arr[4] is 4

arr[5] is 5

arr[6] is 6

arr[7] is 7

arr[8] is 8

arr[9] is 9

我们从例子中看到,数组的下标是从0开始的。

c语言不检查数组边界,应该自己检查数组边界。

c99和c89不同,c99是在运行的时候确定数组的大小。

c89是在编译的时候确定数组的大小。

形参使用数组:

实参只能使用不带下标的数组名向函数传入数组指针。如例子中的fun1(arr);不能使用

其它形式。

例如:

void fun1(int *arr);

void fun2(int arr[]);

void fun3(int arr[3]);

int main(void)

{

int arr[3];

int i;

for (i=0;i<3;i++)

{

arr[i]=i;

}

fun1(arr);

fun2(arr);

fun3(arr);

getch();

return 0;

}

void fun1(int *arr)

{

int i;

for(i=0;i<3;i++)

{

printf("fun1 arr[%d] is %d \n",i,arr[i]);

}

}

void fun2(int arr[])

{

int i;

for(i=0;i<3;i++)

{

printf("fun2 arr[%d] is %d \n",i,arr[i]);

}

}

void fun3(int arr[3])

{

int i;

for(i=0;i<3;i++)

{

printf("fun3 arr[%d] is %d \n",i,arr[i]);

}

}

函数的形参定义共三种方法,上例子给出了详细的定义方式。

三种效果是一样的。

其他人在看啥

    《c语言之一维数组》的评论 (共 0 条)

    • Guest::good