一、指针做形参
1、通过函数,用指针变量做形参接收一维数组
#include <stdio.h>
void test(int *p,int row_len)
{
int i;
for(i = 0;i < row_len;i++)
{
printf("%d ",*(p+i));
}
printf("\n");
}
int main()
{
int a[] = {1,0,5,2,9,7};//定义一维数组
int row_len = sizeof(a)/sizeof(a[0]);//计算行的长度
test(a,row_len);//接收并传参
return 0;
}
2、通过函数,用数组指针做形参接收二维数组
#include <stdio.h>
void test(int (*p)[3],int row_len,int col_len )
{
int i,j;
for(i = 0;i < row_len;i++)
{
for(j = 0;j < col_len;j++)
{
printf("%d ",*(*(p+i)+j));
}
printf("\n");
}
}
int main()
{
int a[][3] = {{1,4,6},{2,9,7}};//定义二维数组(2行3列)
int row_len = sizeof(a)/sizeof(a[0]);//计算行的长度
int col_len = sizeof(a[0])/sizeof(a[0][0]);//计算列的长度
test(a,row_len,col_len);接收test函数并传参
return 0;
}
二、数组做形参
1、通过函数,用数组做形参接收一维数组
#include <stdio.h>
void test(int a[],int row_len)
{
int i;
for(i = 0;i < row_len;i++)
{
printf("%d ",a[i]);
}
printf("\n");
}
int main()
{
int a[] = {1,0,5,2,9,7};//定义一维数组
int row_len = sizeof(a)/sizeof(a[0]);//计算行的长度
test(a,row_len);//接收并传参
return 0;
}
~
2、通过函数,用数组做形参接收二维数组
#include <stdio.h>
void test(int a[][3],int row_len,int col_len)
{
int i,j;
for(i = 0;i < row_len;i++)
{
for(j = 0;j < col_len;j++)
{
printf("%d ",a[i][j]);
}
printf("\n");
}
}
int main()
{
int a[][3] = {{1,0,5},{2,9,7}};//定义二维数组(2行3列)
int row_len = sizeof(a)/sizeof(a[0]);//计算行的长度
int col_len = sizeof(a[0])/sizeof(a[0][0]);//计算列的长度
test(a,row_len,col_len);//接收并传参
return 0;
}