我正在尝试创建 2D 数组并将其作为指向 C 函数内的 2D 数组的指针传递。我尝试使用大括号语法来初始化 1D 数组元素的值,但我不知道如何做用多维的方式来实现它。我不想在一行中写入每个单元格的值,而是在代码中每行键入每一行的值。
int main() {
int r = 3, c = 5;
int **test = malloc(r*sizeof(int*));
test[0] = (int[]) {0,0,0,0};
test[1] = (int[]) {1,2,4,1};
test[2] = (int[]) {3,3,3,3};
printf("%d\n", f(r,c,test));
return 0;
}
我尝试分配一个指针数组并为每一行分配值,但编译器不允许在 int 指针参数上使用 int[] 类型。我对这些大括号如何分配值和指针感到困惑。
结构体{ int foo; // 需要清除的字段 字符栏; // 其他字段 // 可能有用于对齐目的的填充 };