C++ 数组中的数据自动更改
我试图执行一段非常简单的代码。 但我无法发现T[I][j]的值是如何突然变化的 代码:- 输出:- 0x1fc5070:3.401877 0x1fc5074:-1.056171 0x1fc5078:2.830992 0x1fc507c:2.984400 0x1fc5080:4.116474 0x1fc5084:-3.024486 0x1fc5088:-1.647773 0x1fc508c:2.682296 0x1fc5090:-2.222253 0x1fc5094:0.539700 0x1fc5070:0.000000 0x1fc5074:0.000000 0x1fc5078:0.000000 0x1fc507c:0.000000 0x1fc5080:0.000000 0x1fc5084:0.000000 0x1fc5088:0.0000000x1FC508C:0.0000000x1FC5090:0.000000 0x1fc5094:0.000000 更改:C++ 数组中的数据自动更改,c++,c,C++,C,我试图执行一段非常简单的代码。 但我无法发现T[I][j]的值是如何突然变化的 代码:- 输出:- 0x1fc5070:3.401877 0x1fc5074:-1.056171 0x1fc5078:2.830992 0x1fc507c:2.984400 0x1fc5080:4.116474 0x1fc5084:-3.024486 0x1fc5088:-1.647773 0x1fc508c:2.682296 0x1fc5090:-2.222253 0x1fc5094:0.539700 0x1fc5
T = (float **)malloc(NP*sizeof(float));
致:
您使用的是哪种编译器?在gcc上,程序甚至不会编译sizeoffloat和sizeoffloat*在x86机器上不是一样吗?谁说他在x86上?不管怎么说,这是我在那个程序中看到的唯一一个bug,明白了。删除了C标记。
float** T = NULL;
initialize(T,NP,D,low,high);
T = (float **)malloc(NP*sizeof(float));
T = (float **)malloc(NP*sizeof(float *));