输出数组指定位置元素

/*需求:输出数组指定位置的元素
目的:练习二维数组和指向数组的指针
*/
#include <stdio.h>

int main()
{
	int a[2][3]={12,12,3,32,22,45};
	/*int *p;
	p=a;//error C2440: '=' : cannot convert from 'int [2][3]' to 'int *'
	*/
	/*int *p[4];//指针数组,此数组中的四个元素全为指针
	p=a;
	*/
	int (*p)[3];//指向含有三个元素的一维数组的指针
	p=a;
	for(int i=0;i<2;++i)
		for(int j=0;j<3;++j)
			printf("%3d",*(*(p+i)+j));
	int display(int,int,int(*p)[3]);//√
	//二维数组形参,指向数组的指针形参
	
	//在二维数组中,数组名a是指向首行a[0]的指针,
	//也就是说a=&a[0]; a[0]是指向首元素a[0][0]的指针,也就是说a[0]=&a[0][0]
	display(0,2,p);//实际参数
	/*
	,将二维数组当作参数的时候,必须指明所有维数大小或者省略第一维的

	但是不能省略第二维或者更高维的大小,这是由编译器原理限制的。大家在学编译原理

	这么课程的时候知道编译器是这样处理数组的:				

	*/
	return 0;
}

int display(int x,int y,int (*p)[3])//形式参数
{
	//p=a;
	printf("\na[%d,%d]=%d\n",x,y,*(*(p+x)+y));

	return 0;
}

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值