指针—输出二维数组

本文探讨如何使用指针依次和选择输出二维数组的元素,重点在于理解二维数组指针与一维数组指针的区别。通过示例代码,解释了*(p+i)+j的含义,强调要深入理解这种表达式才能掌握二维数组指针操作。
摘要由CSDN通过智能技术生成

要求用指针分别依次和选择输出二维数组元素。

这个是依次输出的代码

#include<stdio.h>
int main()
{
	int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};
	int *p;		                 /*ok 第一次在这里犯了错误 因为第一次让*p=a[0][0],最后发现这里a[0][0]不是地址
					而表示的是a[0][0]的值 也不可以*p=a; 因为这里的a 即数组名 指代的是一列的一维数组
					而在一维数组中,数组名则指代的是该数组首元素的地址 不能混淆使用*/
	for(p=a[0];p<a[0]+12;p++)			
		{
		if((p-a[0])%4==0)	/*这里表示每四个元素输出一个换行 控制格式*/
			printf("\n");
		printf("%4d ",*p);	/*在这里复习一下输出格式的控制;
					%d,s,c.....表示输出的转义字符中间夹正数,表示按规定方向移动该数字个单位;
					夹小数表示取小数点后数字个有效数字  若夹负数,表示反向 
					规定正方向为从左到右 反方向从右到左*/
		}
}

上面的代码中 我觉得难点就是理解这里二维数组的指针与一维数组涵义,使用方面的不同。


<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值