相关疑难解决方法(0)

"static const"vs"#define"vs"enum"

在C中的以下陈述中哪一个更好用?

static const int var = 5;
Run Code Online (Sandbox Code Playgroud)

要么

#define var 5
Run Code Online (Sandbox Code Playgroud)

要么

enum { var = 5 };
Run Code Online (Sandbox Code Playgroud)

c constants

550
推荐指数
12
解决办法
33万
查看次数

如何在C中的函数中传递2D数组(矩阵)?

我需要这样做才能在矩阵上持续操作.这是否意味着它需要通过引用传递?

这还够吗?

void operate_on_matrix(char matrix[][20]);

c parameter-passing multidimensional-array

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

传递可变大小的多维数组

我试图理解将多维数组传递给c中的函数的"最佳实践"(或实际上是任何实践).当然这取决于应用程序,因此我们考虑编写一个函数来打印可变大小的2D数组.特别是,我对如何printArry(__, int a, int b)在下面的代码中编写函数感兴趣.我省略了第一个参数,因为我不确定应该是什么.

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


int main(int argc, char** argv){

int a1=5;
int b1=6;
int a2=7;
int a2=8;

int arry1[a1][b1];
int arry2[a2][b2];

/* set values in arrays */

printArry(arry1, a1, b1);
printArry(arry2, a2, b2);

}
Run Code Online (Sandbox Code Playgroud)

c arrays pointers multidimensional-array variable-length-array

13
推荐指数
1
解决办法
1118
查看次数