如何创建指向2D指针数组的指针?我正在尝试使用main外部的不同方法对2D数组进行变异,以及在main内部对其进行处理。我很幸运创建了一个指向2D数组的指针,但是我似乎无法将数组的所有索引都初始化为null。除非将数组传递给方法,否则我似乎也无法分配值。这是我尝试的:
BoardObject ** board;
board = malloc(BOARD_SIZE * sizeof(BoardObject));
for (int i = 0; i < BOARD_SIZE; i++){
board[i] = malloc(BOARD_SIZE * sizeof(BoardObject));
}
for (int i = 0; i < BOARD_SIZE; i++){
for (int j = 0; j < BOARD_SIZE; j++){
board[i][j] = NULL;
}
}
我收到一条错误消息,提示我无法将* void类型分配给BoardObject。我可能做错了,但似乎在堆栈交换上找不到任何类似的问题。如果可能的话,请向我解释解决方案。谢谢!
注意:BoardObject是一个结构。
我似乎无法将数组的所有索引初始化为null
使用calloc()。
board = malloc(BOARD_SIZE * sizeof(BoardObject));
这段代码说“使用指针指向指针,并使其指向一个BOARD_SIZE对象数组”。如果要创建一个指针数组,那没有任何意义。您应该已经分配了sizeof(BoardObject*)
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句