大约10天前我开始学习C并决定编写一个战舰游戏。 我有一个结构播放器,它有一个2d整型数组作为成员。作为结构成员内存分配的多维数组C
struct player{
...
int field[X][Y];...};
在我的情况下,X和Y都是5。
当我创建的主要新球员,并调用print_field(INT场[X] [Y])方法(简单地打印场的所有成员)
int main(){
struct player player1;
print_field(player1.field);}
我只是得到像
00000 18356276361600061541186983333419528026550 00010 41963970000 04196320041956320
一些随机的东西,我试着malloc和释放calloc的不同明显的方式像
player1.field = malloc(sizeof(player1.field));
但我得到不同类型的指针,数组或转换异常。
请解释我是如何工作的。
请显示[MCVE。你没有提供足够的信息。我们所能说的只是:您没有显示的代码中存在一处错误。 –
'player1'不是inited,所以你想看到什么值...? – LPs
注意:C不支持_methods_,只有_functions_。 – Olaf