【发布时间】:2019-08-22 17:06:01
【问题描述】:
我正在尝试使用 calloc 动态分配二维数组。
这是我尝试过的代码。
int ** numberOfConstPiArray = calloc(invariannumberOfUniqueKernels * kernelColumnCount, sizeof(int *));
我已经初始化了以下变量,如图所示
int numberOfUniqueKernels = 100;
int kernelColumnCount = 10;
int dimensionalMatrixColumnCount = 10;
以下是循环并尝试更改二维数组的主要代码。
for (int countKernel = 0; countKernel < numberOfUniqueKernels; countKernel++)
{
int countNumberOfConst = 0;
int numberOfTerms = 0;
int numberOfConstPi = 0;
for (int col = 0; col < kernelColumnCount; col++)
{
for (int row = 0; row < dimensionalMatrixColumnCount; row++)
{
if (some condition is satisfied)
{
countNumberOfConst += 1;
}
if (another condition satisfied)
{
numberOfTerms += 1;
}
}
if(countNumberOfConst == numberOfTerms)
{
numberOfConstPi += 1;
numberOfConstPiArray[countKernel][col] = 1;
}
countNumberOfConst=0;
numberOfTerms=0;
}
}
这似乎不起作用。我知道这似乎不起作用,但由于此代码是大型编译器的一部分,因此我无法打印出特定的输出。对此表示歉意。
我的问题是:我是否以正确的方式初始化了数组,并且是否以正确的方式修改了数组中元素的值。
谢谢。
【问题讨论】:
标签: c arrays pointers dynamic-memory-allocation