首页 > 其他分享 >数组005 二维数组

数组005 二维数组

时间:2024-07-16 14:19:17浏览次数:7  
标签:数组 int len ii 二维 005

 1 #include<iostream>
 2 using namespace std;
 3 
 4 //二维数组作为函数的参数
 5 //    注意此时的长度,是有多少行,也就是最外层有多少个
 6 void erweishuzu(int(*p)[4], int len)
 7 {
 8     for (int i = 0; i < len; i++)
 9         for (int ii = 0; ii < 4; ii++)
10             cout << p[i][ii] << endl;
11 }
12 
13 
14 int main()
15 {
16     //二维数组
17 
18     int arr2[3][4] = { 0,1,2,3,4,5,6,7,8,9,11,12 };
19 
20     //二维数组的指针
21     //
22     // 自己的理解,二维数组其实就是  一维数组  的 数组,每个元素都是一个一维数组
23     // 二维数组的指针,每跳一次,都是要跳过一个一维数组,它得知道你一个一维数组里面有多少个元素
24     // 所以在声明的时候,要告诉他最里层一维数组有多少个元素,就用指针名后面跟[列数]:int (*p1)[4]
25     //[ ]的优先级高于*,( )是必须要加的,如果赤裸裸地写作int *p[4],
26     // 那么应该理解为int *(p[4]),p 就成了一个指针数组,而不是二维数组指针
27     int (*p1)[4] = nullptr;
28     p1 = arr2;
29     cout << (void*)p1 << endl;
30     p1++;
31     cout << (void*)&arr2[1] << endl;
32     cout << (void*)p1 << endl; cout << *(*p1+1) << endl;
33     //int (*)[3]的值不能用于初始化 int* 类型的实体
34     cout << endl;
35     erweishuzu(arr2, 3);
36 
37     cout << endl;
38     //三维数组
39     int arr3[3][2][3] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16 };
40 
41     //三维数组指针也是一样了
42 
43     int(*p2)[2][3] = arr3;
44 
45     cout << (void*)p2 << endl;
46     p2++;
47     cout << (void*)p2 << endl; cout << **(*p2 + 1) << endl;
48 
49 
50 
51 
52 }

 

标签:数组,int,len,ii,二维,005
From: https://www.cnblogs.com/modianmoz/p/18305134

相关文章

  • 类模板案例——数组类封装(vector<>的逻辑代码)
    .hpp文件#pragma#include<iostream>usingnamespacestd;template<classT>classMy_arry{public: My_arry(intcapacity)//赋初值 { this->m_capacity=capacity;//容量 this->m_Arry_size=0;//大小 this->m_Arry_Addres=newT[capacity];......
  • 代码随想录算法训练营第23天 | 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树
    代码随想录算法训练营第22天|669.修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树修剪二叉搜索树:https://leetcode.cn/problems/trim-a-binary-search-tree/description/代码随想录:https://programmercarl.com/0669.修剪二叉搜索树.html#......
  • 声明一个数组为什么需要花费大量时间?
    声明一个数组需要花费大量时间,主要原因有以下几点:内存申请:创建数组时,需要申请一块连续的内存空间。如果系统内存不足或者剩余的内存不连续,可能会导致创建失败。此外,对于大数组,存储需求呈指数级增长,例如一个四维字符数组需要2,160字节的内存,而存储双精度浮点数则需要17,280字......
  • php函数入门学习(数组常见函数2 & 文件基础读写)
    //1、写一个函数,传入数组,返回数组中元素为数字且大于10的新结果数组functiongetNumArr($arr){  if(!$arr)return'请传入数组';  $arr2=array_filter($arr,function($v){    //echogettype($v)."<br>";    returngettype($v)==='inte......
  • 最爽手撕算法个人笔记【第一周-数组】
    27.移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素。元素的顺序可能发生改变。然后返回nums中与val不同的元素的数量。假设nums中不等于val的元素数量为k,要通过此题,您需要执行以下操作:更改nums数组,使nums的前k个元素包含不......
  • VisionMaster -Group循环、数组数据格式化
    目录1.循环索引-容易掉坑2.位置修正-容易掉坑3.检测方案总体4.匹配模板建立5.建立Group组合模块6.多物体测试循环7.输出数据8.格式化数据9.建立TCP通信设备10.发送数据1.循环索引-容易掉坑2.位置修正-容易掉坑3.检测方案总体左边是主流程,右边是组合模块内部......
  • 005_python3 元组 字典 集合 条件控制 循环语句 编程第一步
    Python3元组1.元组的元素不能修改,使用小括号,逗号隔开,也可不用小括号,不同类型元素tup1=()  #创建空元组tup2=('he',)   #元组中只包含一个元素时,需要在元素后面添加逗号 , ,否则括号会被当作运算符使用tup3=('abc','xyz',2,4,9)2.元组使用访问元组:tup3......
  • 数组002 一维数组与指针
    #include<iostream>usingnamespacestd;//1、指针的算术://将一个整型变量加1后,其值将增加1。//但是,将指针变量(地址的值)加1后,增加的量等于它指向的数据类型的字节数。////2、数组的地址//2.1数组在内存中占用的空间是连续的。//......
  • 数组001 基本语法
    #include<iostream>usingnamespacestd;//1、数组声明方式:////1.1只声明://数据类型数组名[数组长度]:intarr[10];//里面的元素未初始化,显示的结果不确定////1.2声明的时候初始化:////1.2.1数据类型数组名[数......
  • 【数据结构】线性结构——数组、链表、栈和队列
    目录前言一、数组(Array)1.1优点1.2缺点1.3适用场景二、链表(LinkedList)2.1优点2.2缺点2.3适用场景三、栈(Stack)3.1优点3.2缺点3.3适用场景四、队列(Queue)4.1优点4.2缺点4.3适用场景......