【发布时间】:2018-06-08 09:51:55
【问题描述】:
我正在尝试创建一个动态矩阵,其中包含用户介绍的行数和 6 列。 我只想创建矩阵,以便在需要时获取它的值。 我已经尝试过了,但是当它到达这里时程序崩溃了。
matriz = (int **)malloc(n_lines * 6 * sizeof(int *));
for (i = 0; i < n_lines; ++i)
{
for (j = 0; j < 6; ++j)
{
current_year = starting_year + i;
if (current_year % 400 == 0)
{
february = 29;
days = 366;
hours = 8784;
minutes = 527040;
seconds = 31622400;
}
else
{
february = 28;
days = 365;
hours = 8760;
minutes = 525600;
seconds = 31536000;
}
matriz[i][0] = { current_year };
matriz[i][1] = { february };
matriz[i][2] = { days };
matriz[i][3] = { hours };
matriz[i][4] = { minutes };
matriz[i][5] = { seconds };
}
}
【问题讨论】:
-
matriz = (int **)malloc(n_lines * 6 * sizeof(int *)).. 你确定int * -
我建议每次分配指针时打印指针(而不是它们指向的内容,例如
matriz[i][0]),即在内部循环中,n_lines > 2。我敢打赌,结果会让您大吃一惊。 -
是的,我理解你提到的两种情况,并决定使用第一种。
标签: c matrix dynamic dynamic-arrays