数组是用来存储一个固定大小的同类型元素的顺序集合。
type arrayName [ arraySize ]
int array[5];
int array[] = {1, 2, 3, 4, 5};
int array[5] = {1, 2, 3, 4, 5};
#include
int main(int argc, const char * argv[]) {
int array[5] = {1, 2, 3, 4, 5};
int i;
for (i = 0; i < 5; i++) {
printf("array中第%d个元素是%d", i, array[i]);
}
}
多维数组最简单的形式是二维数组。一个二维数组,在本质上,是一个一维数组的列表。声明一个 x 行 y 列的二维整型数组。
下面是一个二维数组,包含 3 行和 4 列:
#include
int main ()
{
/* 一个带有 5 行 2 列的数组 */
int a[5][2] = { {0,0}, {1,2}, {2,4}, {3,6},{4,8}};
int i, j;
/* 输出数组中每个元素的值 */
for ( i = 0; i < 5; i++ )
{
for ( j = 0; j < 2; j++ )
{
printf("a[%d][%d] = %d\n", i,j, a[i][j] );
}
}
return 0;
}
若想在函数中传递数组作为参数,须以以下三种方式来声明函数形参。
方式一:形参是一个指针
void function(int *param) {
}
方式二:形参是一个已定义大小的数组
void function(int array[5]) {
}
方式一:形参是一个已定义大小的数组
void function(int array[]) {
}
C 语言不允许返回一个完整的数组作为函数的参数。但是,您可以通过指定不带索引的数组名来返回一个指向数组的指针。
#include
#include
#include
/* 要生成和返回随机数的函数 */
int * getRandom( )
{
static int r[10];
int i;
/* 设置种子 */
srand( (unsigned)time( NULL ) );
for ( i = 0; i < 10; ++i)
{
r[i] = rand();
printf( "r[%d] = %d\n", i, r[i]);
}
return r;
}
/* 要调用上面定义函数的主函数 */
int main ()
{
/* 一个指向整数的指针 */
int *p;
int i;
p = getRandom();
for ( i = 0; i < 10; i++ )
{
printf( "*(p + %d) : %d\n", i, *(p + i));
}
return 0;
}