1. 程式人生 > >指標陣列和行指標作為形參時的區別

指標陣列和行指標作為形參時的區別

用指標陣列作為形參時的表示方法:
#include <stdio.h>
void fun(int *p[3],int n)
{
	int i,j;
	for(i=0;i<3;i++)
		for(j=0;j<n;j++)
			printf("%d ",*(*(p+i)+j));
	printf("\n");
}
void main()
{
	int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
	int *p[3]={a[0],a[1],a[2]};
	fun(p,4);
}

用行指標作為形參時的表示方法:
#include <stdio.h>
void fun(int (*p)[4],int n)
{
	int i,j;
	for(i=0;i<n;i++)
		for(j=0;j<4;j++)
			printf("%d ",*(*(p+i)+j));
	printf("\n");
}
void main()
{
	int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
	fun(a,3);
}