相关疑难解决方法(0)

在C中将多维数组作为函数参数传递

在C中,当我不知道数组的维数是什么时,我可以将多维数组作为单个参数传递给函数吗?

另外,我的多维数组可能包含除字符串以外的类型.

c

51
推荐指数
3
解决办法
8万
查看次数

如何使用指针表达式访问C中二维数组的元素?

我知道对于单维数组 x=a[i]来说相当于x=*(a+i),但是如何使用指针访问二维数组的元素呢?

c pointers multidimensional-array

37
推荐指数
4
解决办法
7万
查看次数

在函数中操作多维数组

我在这里阅读了很多内容并尝试了很多但是我找不到将多维数组传递给C中的函数的方法,更改了一些值并以某种方式返回新数组.找到一种方法将该数组进一步传递给另一个函数并执行相同的操作非常重要.

我想找到一种方法将数组传递给一个函数.然后将它从第一个函数传递给第二个函数,在那里做一些事情(可能打印,也许更改值),然后再次使用它到第一个函数,最后使用主要的那个数组.

我的最后一次尝试是:

void func(int multarray[][columns]){
    multarray[0][0]=9;
}

int main(){
    int rows;
    int columns;
    int multarray[rows][columns];
    func(multarray);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

void func(int multarray[rows][columns]){
    multarray[0][0]=9;
}

int main(){
    int rows;
    int columns;
    int multarray[rows][columns];
    func(multarray);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

我也试过这个:

int
getid(int row, int x, int y) {
          return (row*x+y);
}

void
printMatrix(int*arr, int row, int col) {
     for(int x = 0; x < row ; x++) {
             printf("\n");
             for (int y = 0; y <col ; y++) {
                 printf("%d  ",arr[getid(row, …
Run Code Online (Sandbox Code Playgroud)

c arrays parameters function multidimensional-array

3
推荐指数
2
解决办法
2万
查看次数