#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>//只要第一个[]的数字可以不写,其它必需写
//void func01(int a[3][4]) //形参中的数组是指针变量
//void func01(int a[][4])
void func01(int (*a)[4])
{}//实参为首元素地址,首元素为int [4][5]
void func02(int(*p)[4][5])
{}int main(void)
{int a[3][4];func01(a);int b[3][4][5];func02(b);printf("\n");system("pause");return 0;
}
内存可以看成是线性的
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int main(void)
{
    int a[12] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
    typedef int(*PARRAY)[4];
    PARRAY p;
    p = (PARRAY)a;
    int i, j;
    for (i = 0; i < 3; ++i)
    {
        for (j = 0; j < 4; ++j)
        {
            printf("%d, %d\n", p[i][j], *(*(p + i) + j));
        }
    }
    printf("\n");
    system("pause");
    return 0;
}
int main01(void)
{
    int a[3][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 };
    int *p;
    p = (int *)a;
    int i = 0;
    for (i = 0; i < 12; ++i)
    {
        printf("%d, ", *(p+i));
    }
    printf("\n");
    system("pause");
    return 0;
}

多维数组做参数,内存可以看做是线性的相关推荐

  1. C语言-二维数组做函数的参数

    文章目录 1 引例 2 观点1 这种使用方法是错误的 3 观点2 根本不需要这么做 4 二维数组做函数参数的方法 4.1 方法1 4.2 方法2 4.3 方法3 5 与Java的不同 1 引例 下面的 ...

  2. C++二维数组做函数参数

    C++二维数组做函数参数 二维数组做函数参数的形式主要有: /对于一个m行n列int元素的二维数组 //函数f的形参形式 f(int daytab[m][n]) {...}//以下两种可以忽略行数 f ...

  3. C语言多维数组做函数参数技术推演

    多维数组做函数参数技术 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) 二维数组参数同样存在退化的问题 等价关系 C语言中只会以机械式的值拷贝的方式传递参数(实参把值传给形参) int ...

  4. C语言多维数组做函数参数退化原因大剖析

    多维数组做函数参数退化原因 多维数组做函数参数退化原因大剖析 多维数组做函数参数退化原因大剖析 //证明一下多维数组的线性存储 //线性打印 void printfArray411(int *arra ...

  5. 【C 语言】数组 ( 多维数组做函数形参退化为指针过程 | int array[2][3] -> int array[][3] -> int (*array)[3] )

    文章目录 一.多维数组做函数形参退化为指针过程 1.使用 int array[2][3] 作函数参数 2.使用 int array[][3] 作函数参数 3.使用 int (*array)[3] 作函 ...

  6. 【java基础】——一维数组和二维数组存储占用内存大小问题

    问题:在java中,一维数组和二维数组在数据量一样的情况下,开辟的内存大小是怎样的? 一.尝试阶段: 1.代码一: public class OneArrayMemory{public static ...

  7. 二维数组作为参数,传入函数(最好用的)

    二维数组作为参数,传入函数(最好用的) 很多时候我都是直接通过传入一个 固定的数字来传递一个二维数组, 比如这样子定义函数 int fun(int a[][3],int n) 调用函数是 fun(a, ...

  8. 二维数组及其动态内存分配

    一.二维数组的基本概念 1.1 二维数组的内存映像 从内存角度看,二维数组和一维数组一样,在内存中都是连续分布的多个内存单元,并没有本质差别,只是内存的管理方式不一样,如下图所示 一维数组int a[ ...

  9. C++二维数组动态申请内存

    好久没用C++刷题了,今天早上刷了几条题,感觉很陌生了.怪我,大二下实在太颓废了,没啥作为. 今天更新个关于c++二维数组内存申请的问题,当初作为菜鸟初学指针的时候,还是在这方面有点搞不通的.今天用到 ...

最新文章

  1. 沙龙预告 | 新书分享《崛起的超级智能:互联网大脑如何影响科技未来》
  2. 精通python-轻松打造11周精通python计划(完结) | 软件库
  3. android double比较大小吗,java – Android – 比较方法违反了它的一般...
  4. linux下eclipse+pdt(PHP集成开发环境安装)
  5. 判断对象是否存在某个属性
  6. java项目经验行业_行业研究以及如何炫耀您的项目
  7. linux中which命令详解,Linux下which命令使用详解(转)
  8. MAC PHP Composer
  9. 使cmd窗口不自动关闭
  10. 数学建模与数学实验3.4习题1
  11. 能让你「情商暴涨」的6个聊天小技巧
  12. ffmpeg实现视频切割
  13. iOS开发者,你不可错过的资源
  14. JavaScript实现Fly Bird小游戏
  15. bin文件转换成hex的方法
  16. 2345恶意篡改修复
  17. 未来5年光通信系统十大技术趋势发布
  18. java wed登录面 代码_Java Web登录界面
  19. 「微信将不再提供小程序打开 App 技术服务」带给我的思考
  20. 简帛企业云智库知识管理系统

热门文章

  1. 吴恩达机器学习(八)偏差与方差
  2. STM32常见错误error: #268: declaration may not appear after executable statement
  3. 自学编程变得越来越简单之后,那些老程序员是有多恐慌?
  4. linux 中常见的压缩和解压缩的命令
  5. 删除隐藏版本信息 版本回退_Visual Studio Code 2019 August版本发布,新功能尝鲜
  6. 编写python代码估算sin(x)的值
  7. SpringBoot实战教程(7)| 整合JPA
  8. 如何生成指定范围不重复的随机数数组
  9. 新增一个主键自增长_使用技巧之——MyBatis如何返回插入主键
  10. php实现access数据库连接,PHP实现Access数据库连接