我有我的表的第一行的一个问题的C 2维数组的malloc不保留一线
char **M = malloc(dim->lignes*sizeof(char));
for(i=0;i<dim->lignes;i++)
{
M[i]=malloc(dim->colonnes*sizeof(char));
for(j=0;j<dim->colonnes;j++)
{
M[i][j] = fgetc(F);
printf(" ");
printf("%c",M[i][j]);
}
printf("\n");
fgetc(F);
}
for(i=0;i<dim->lignes;i++)
{
for(j=0;j<dim->colonnes;j++)
{
printf(" ");
printf("%c",M[i][j]);
}
printf("\n");
}
输出:
# # # # # # # # #
# # # # # # # # #
# # #
# # # #
# #
# #
# #
# # #
# # # #
# # # # # # # # #
P Õ h Õ Ç
# # # # # # # # #
# # #
# # # #
# #
# #
# #
# # #
# # # #
# # # # # # # # #
我不明白为什么第一打印是正确的,而不是第二。
你的代码片段中没有二维数组,没有可指向一个的数组。如果你想要一个2D数组,请使用一个! – Olaf