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];

猜你喜欢

转载自www.cnblogs.com/SunflowerUp/p/9484082.html
今日推荐