当前位置:  开发笔记 > 编程语言 > 正文

传递可变大小的多维数组

如何解决《传递可变大小的多维数组》经验,为你挑选了1个好方法。



1> haccks..:

最简单的方法是(适用于C99及更高版本)

void printArry(int a, int b, int arr[a][b]){
    /* what goes here? */
}

但是,还有其他方法

void printArry(int a, int b, int arr[][b]){
    /* what goes here? */
}

要么

void printArry(int a, int b, int (*arr)[b]){
    /* what goes here? */
}

编译器将调整前两个到第三个语法.所以,从语义上讲,这三者都是相同的.

并且有点令人困惑,它只能作为函数原型使用:

void printArry(int a, int b, int arr[*][*]);


我从来不知道`int arr [a] [b]`是一个选项作为参数; 什么时候出现在标准中?
推荐阅读
小白也坚强_177
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有