我正在尝试将我的字符串转换为动态的双精度数组.我的字符串的每个空格代表一列,每个";" 代表一个新行.当此代码运行时,它仅适用于*F [0] [col]时.当它到达*F [1] [col]时,它给出了错误"CCode.exe中0x00e4483c处的未处理异常:0xC0000005:访问冲突读取位置0xcccccccc." 谁知道为什么?
void main(void) {
double **F = NULL;
F = malloc(row * sizeof (double *));
for (m=0; m < row;m++) {
F[m] = malloc(col * sizeof(double ));
}
FParser(string, &F);
for (m=0;m<rowF;m++)
free(F[m]);
free(F);
}
void FParser(char string[256], double ***F) {
while (dummyChar_ptr != NULL) {
dummyChar_ptr = strtok(dummyChar_ptr," ");
while ((dummyChar_ptr) != NULL) {
*F[row][col] = atof(dummyChar_ptr);
dummyChar_ptr = strtok(NULL," ");
col++;
}
col=0;
row++;
strcpy(dummyChar,string);
dummyChar_ptr = strtok(dummyChar,";");
for (x=0;x<row;x++)
dummyChar_ptr = …Run Code Online (Sandbox Code Playgroud) c pass-by-reference multidimensional-array dynamic-memory-allocation