指向2D数组参数(C)的指针

第五总理

基本上我所拥有的是一个接受二维数组作为参数的函数,然后我希望能够创建一个指向该数组的二维指针。这是示例代码:

int main(){
    int a[3][3]={0,1,2,3,4,5,6,7,8};
    func(a);
}
int func(a[3][3]){
    int (*ptr)[3][3]=&a;//this is the problem
}

出于某种原因,如果在函数中声明了数组(而不是作为参数),则此方法很好用,但是我无法终生弄清楚如何解决此问题。

毫米

数组不能通过C中的值进行传递。乍看之下,in的语法func 并不意味着它的外观

a 该函数中实际上是一个指针,而不是数组,因此您可以通过编写以下代码来实现所需的功能:

int (*ptr)[3][3]= (int (*)[3][3])a;

工作程序,尽管传递&a给它func并使其int (*)[3][3]直接接受func可能更简单

#include <stdio.h>

int func(int a[3][3]){
    int (*ptr)[3][3]=(int (*)[3][3])a;

    for (int i = 0; i < 3; ++i)
        for (int j = 0; j < 3; ++j)
            printf("%d\n", (*ptr)[i][j]);
}

int main(){
    int a[3][3]={0,1,2,3,4,5,6,7,8};
    func(a);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

C:指向2d数组的指针

来自分类Dev

指向指针(2D数组)的指针作为输入参数

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

如何创建指向2D指针数组的指针-C

来自分类Dev

在C中交换2d数组(指向指针的指针)

来自分类Dev

2D数组(指向指针的指针)

来自分类Dev

指向2D数组C,C ++的指针

来自分类Dev

指向C中的2D数组的指针

来自分类Dev

存储指向2D数组的指针

来自分类Dev

指向2D数组的指针

来自分类Dev

2D数组不会衰减到指向指针的指针

来自分类Dev

2D数组不会衰减到指向指针的指针

来自分类Dev

在C ++中的2D数组中声明指向1D数组的指针

来自分类Dev

2D数组作为指向char数组的指针

来自分类Dev

使用指向指向数组的指针的指针打印2D数组

来自分类Dev

将指向2D VLA的指针作为函数参数传递给C中的行向量

来自分类Dev

声明指向2D枚举数组的指针

来自分类Dev

指向未知大小的现有2d数组的指针?

来自分类Dev

* p的大小,其中p是指向2D数组的指针

来自分类Dev

如何分配指向结构的2D指针数组

来自分类Dev

使用双指针指向2D数组

来自分类Dev

指向C ++中动态分配的2D数组中的一行的指针

来自分类Dev

为什么在C ++中声明动态2D数组时使用指针指向?

来自分类Dev

如何在C ++中初始化指向动态2D数组的指针

来自分类Dev

指向指针和指向2D数组的指针之间的区别

来自分类Dev

C中的2D数组指针

来自分类Dev

当参数必须是使用指针的2D数组时,如何在C ++中使用swap()

来自分类Dev

当参数必须是使用指针的2D数组时,如何在C ++中使用swap()

来自分类Dev

指向2D数组的指针数组,读取不正确的值

Related 相关文章

热门标签

归档