【C语言】 二维数组

目录

一:光标定位函数

二:二维数组的写法

三:二维数组的元素遍历

四:有关二维数组的几个注意事项


一:光标定位函数

通过光标定位函数,了解什么是二维 

gotoxy:头文件 #include<windows.h> 【通过x y 坐标定位 可以看作是 二维数组的定位】

//光标定位函数
void gotoxy(int x,int y)
{
	HANDLE hOut;
	COORD pos= {x,y};
	// 光标的起始位(第1列,第3行) 0是第1列 2是第3行
	hOut = GetStdHandle(STD_OUTPUT_HANDLE);
	SetConsoleCursorPosition(hOut, pos);
	//printf("定位光标位置搜索(%d,%d)\n",pos.X,pos.Y);
}

二:二维数组的写法

二维数组的各个元素地址连续

下面简单介绍二维数组的3种基本写法 

二维数组写法1: [逐行给出元素数据内容]

#include<stdio.h>

void array_2()
{    //12个元素地址是连续的
	int arr[3][4]={   //二维数组 数组名也是起始地址 arr[0]表示数组地址 表示1234所在的那一行
		{1,2,3,4},    //arr[1]表示4567所在那一行
        {4,5,6,7},    //arr[2]表示4567所在那一行
		{4,5,6,7}
	};
	printf("%d\n",arr[1][2]);   //6
}

int main()
{
    array_2();
	return 0;
}

二维数组写法2: [一次性给出元素数据内容]

#include<stdio.h>

void array_2()
{    
	int arr1[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};  //另一种写法
	printf("%d\n",arr1[1][2]);   //7
}

int main()
{
    array_2();
	return 0;
}

二维数组写法3: [二维数组可以不写行数,只写列数,编辑器会自己分析]

int arr1[  ][4]={1,2,3,4,5,6,7,8,9,10,11,12}; 

三:二维数组的元素遍历

遍历打印二维数组:

#include<stdio.h>

void array_2()
{   
	int i,j;
    int arr[3][4]={ //二维数组 数组名也是起始地址 arr[0]表示数组地址 表示1234所在的那一行
		{1,2,3,4},   //12个元素地址是连续的
		{4,5,6,7},
		{4,5,6,7}
	};
    for(i=0;i<3;i++)   //行循环  遍历数组
	{
       for(j=0;j<4;j++)  // 列循环
	   {   
         printf("arr[%d][%d]=%d\t",i,j,arr[i][j]);
	   }
         printf("\n");
	}
}

int main()
{
    array_2();
	return 0;
}

四:有关二维数组的几个注意事项

二维数组的数组名是起始地址

arr[0]是数组 代表的是{1,2,3,4}所在行

3行4列 二维数组  arr[0]  arr[1]  arr[2]三个数组(3行)3个地址

其中arr[0]地址也是二维数组起始地址  也是arr[0][0]地址

二维数组的元素的地址是连续的

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

chenruhan_QAQ_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值