数组中的数据会自动更改
Data changes automatically in array
我正在尝试执行一段非常简单的代码。但是我无法找到T[i][j]的值是如何突然改变的。
法典:-
void initialize(float** &T,int NP,int D,int low,int high)
{
int i = 0,j = 0;
T = (float **)malloc(NP*sizeof(float));
for(i = 0;i<NP;i++)
{
T[i] = (float *)malloc(D*sizeof(float));
for(j = 0;j<D;j++)
{
T[i][j] = low + (high - low)*((float)rand()/(float)RAND_MAX);
if(i==0)
{
printf("%p :t",&T[i][j]);
printf("%fn",T[i][j]);
}
}
}
printf("n");
for(j = 0;j<D;j++)
{
printf("%p :t",&T[0][j]);
printf("%fn",T[0][j]);
}
printf("n");
}
主要:-
float** T = NULL;
initialize(T,NP,D,low,high);
输出:-
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.0000000x1fc5078 : 0.000000 0x1fc507c : 0.000000 0x1fc5080 : 0.000000 0x1fc5084 : 0.000000 0x1fc5088 : 0.000000 0x1fc508c : 0.000000 0x1fc5090 : 0.000000 0x1fc5094 : 0.000000
更改:
T = (float **)malloc(NP*sizeof(float));
自:
T = (float **)malloc(NP*sizeof(float *));
相关文章:
- C++将文本文件中的数据读取到结构数组中
- 通过JNI传递数据数组的最快方法是什么
- C++数据文件、数组和计算赋值
- 使用指针访问数组中的对象数据成员
- C++ 使用存储在动态数组中的文本文件中的数据查找模式
- C++:__aligned(__alignof__) 导致字符数组数据出现问题?
- 很好的语法来获取对向量/数组数据的大小引用?
- 创建异构顶点数据数组的可移植方法
- 模板 使用数据数组调用函数时扩展参数包
- 如何在 c++ 和 java 之间通过 udp 有效地发送数据数组
- 如何使用模板函数从缓冲区(T* 数据数组)创建 cv::Mat
- 如何连接 2D 数据数组
- 如何使用GStreamer播放PCM数据数组
- P/Invoke使用C#和C++之间的双编组数据数组
- 如何在文件中保存/读取数据数组 (C++)
- Android & JNI 如何将 Byte[] 数据数组传递给 JNI 并取回 Byte []
- C++ 通过多次重复向量来构建数据数组
- 尝试使用pthreads访问共享数据数组时,出现“无法访问内存地址”错误
- Qt存储和访问大数据数组
- 在c++中初始化一些数据数组