【发布时间】:2011-03-18 13:01:15
【问题描述】:
我想通过函数创建一个动态二维数组,但似乎有些地方很不对劲。当我想往里面放东西时,它会抛出一个错误。
错误
在 0x003a19c8 处未处理的异常 p01.exe: 0xC0000005: 访问冲突 写入位置 0xcdcdcdcd。
CreateDynamicArray()
short int** CreateDynamicArray(int row, int col)
{
// Creating variable
short int** dynamicArray;
// Creating rows
dynamicArray = (short int**)malloc(row * sizeof(short int*));
// Going trough every row and creating columns for them
for (int i = 0; i < row; i++)
{
dynamicArray[row] = (short int*)malloc(col * sizeof(short int));
}
// Returning created array
return dynamicArray;
}
main()
// Creating it
dynamicArray = CreateDynamicArray(row, col);
// Filling up with random numbers
for (i = 0; i < row; i++)
{
randomNumber = rand() % 20;
dynamicArray[i][n] = randomNumber; // Here it throws me exception
for (n = 0; n < col; n++)
{
randomNumber = rand() % 20;
dynamicArray[i][n] = randomNumber;
}
}
附: 是的,这有点像家庭作业,但我仍然需要这件事的帮助:)
【问题讨论】: