不会吧,不会吧,还在直接写二维数组?康康我一维变二维

简介: 不会吧,不会吧,还在直接写二维数组?康康我一维变二维

✨且看我一维变二维✨🤯


❁ 今天给大家分享一个,高级的二维数组,大家快来康康吧!!!

1.指针数组;

------> (问:这里指针数组是指针还是数组?指针or数组)

------😋那么什么才是指针数组呢?😋

答案:✨数组中存储的元素都是指针类型(如 :int*类型)


引入——>之前我们的数组如

---->int arr[3]={1,2,3}; int代表数组类型,也代表着元素类型

所以我们要存放指针如:int*类型,所以不难推出

---->int* arr[4]={&a1,&a2,&a3,&a4};是指针数组的代码。

2.一维数组;

一维数组就不多赘述了哈!!!!

在这里我们只需要知道数组名代表的是数组首元素的地址就可以了~

话不多数,我们就直接进入主题,冲冲冲!!!

3.一维化二维:

🤔思考:如果我们用一个一维数组每一个元素——>来代表二维数组的每一行是不是就可以实现了呢?🤔

有想法,就动手,来试试!!!

思考图如下:


---->✨这里我就可以把上图的arr[ ]数组换成我们的指针数组,结合一维数组相关知识,是不是就可以实现咯✨

注意: 上图的&a1等是整个数组的地址我们只需要首字母就可以。


实现:


----->通过首元素我们便可以顺藤摸瓜找到相关一维数组,也就可以输入“ 二维数组 ”每一行的元素,也就实现咯一维化二维咯

----->代码如下:

#include<stdio.h>
int main()
{
  
  int a1[] = { 1,6,3,4 };
  int a2[] = { 2,8,4,5 };
  int a3[] = { 3,4,5,6 };
  int a4[] = { 7,8,9,0 };
  int* arr[4] = { a1,a2,a3,a4};
  int i = 0;
  for (i = 0; i < 4; i++)
  {
    int j = 0;
    for (j = 0; j < 4; j++)
    {
      printf("%d ", arr[i][j]);
    }
    printf("\n");
  }

  return 0;
}


相关文章
|
5天前
使用多维数组将两个矩阵相加
【10月更文挑战第30天】使用多维数组将两个矩阵相加。
15 2
|
5月前
二维前缀和
二维前缀和
15 0
|
6月前
|
存储 人工智能 算法
二维差分与二维前缀和
二维差分与二维前缀和
59 3
创建二维数组和矩阵
在Julia中,可以使用逗号或两个冒号创建二维数组和矩阵。例如,`[1 2 3 4]`和`[1;; 2;; 3;; 4]`创建1x4矩阵。添加分号`;`创建多行,如`[1 2; 3 4]`形成2x2矩阵。使用冒号和空格,如`[1:2 3:4]`也可得到2x2矩阵。通过嵌入相同长度的一维数组,如`[[1,2] [3,4] [5,6]]`,可构建2x3矩阵。利用分号和空格能创建不同形状的矩阵,如2x3和3x2矩阵。
|
6月前
|
C++ 容器
[C++] 对二维数组中的二维坐标点x,y进行排序
[C++] 对二维数组中的二维坐标点x,y进行排序
187 0
|
机器学习/深度学习 存储 人工智能
第3章 数组与矩阵——3.2 矩阵操作
第3章 数组与矩阵——3.2 矩阵操作
|
存储 NoSQL
第3章 数组与矩阵——3.5 稀疏矩阵
第3章 数组与矩阵——3.5 稀疏矩阵
|
机器学习/深度学习 前端开发 rax
第3章 数组与矩阵——3.4 矩阵运算(1)
第3章 数组与矩阵——3.4 矩阵运算(1)
|
机器学习/深度学习 资源调度 算法
第3章 数组与矩阵——3.4 矩阵运算(2)
第3章 数组与矩阵——3.4 矩阵运算(2)
|
人工智能 vr&ar
一维 二维求前缀和、差分
一维 二维求前缀和、差分
53 0