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

 

posted @ 2018-08-15 21:17  一支向阳花  阅读(185)  评论(0编辑  收藏  举报