C++指针疑难问题
同一个指针,在不同位置输出,中间并没有对变量做任何操作。但输出结果不同。
原因分析,指针初始化有问题。
错误代码代码如下:
int Model_No;
float *model_s2 = NULL;;
float *model_PixelValueSum = new float[Model_No];
float *model_average = new float[Model_No];
float *model_standardized_deviation = new float[Model_No];
float *model_StdDevation = new float[Model_No];
float *model_PixelNum = new float[Model_No];
Model_No = 20;
指针初始化时,指针的长度为定值或者为NULL。否则,指针是一个随机数,随机指向某个位置,而且随机变动。此处,指针初始化时,Model_No并未被赋值,故指针并未被成功初始化。
修改:
int Model_No;
Model_No = 20;
float *model_s2 = NULL;;
float *model_PixelValueSum = new float[Model_No];
float *model_average = new float[Model_No];
float *model_standardized_deviation = new float[Model_No];
float *model_StdDevation = new float[Model_No];
float *model_PixelNum = new float[Model_No];