我使用卡片LCDK C6748在Code Composer Studio版本:6.0.1.00040中工作。
但我认为这是一个普遍的C问题。
我有一个全局浮点数组,初始化如下:
float prn_buff[BUFF_NOISE_SIZE]={0}; // pseudo random noise
// I expected that the array will be full of zeros (appearantly it is not)
出于某种原因,我注意到,当我设置断点时,阵列充满了NaN。 初始化是错误的吗? 或者我应该寻找别的东西?
我在main()中设置BP,数组在main()之前初始化, 也许我误解了一些东西,但当我进入main()时,是不是在所有全局变量都已初始化之后呢?
答案 0 :(得分:1)
初始化是错误的吗?或者我应该寻找别的东西?
初始化很好,它将数组的所有项都设置为0.0f
。问题可能在您的代码中的其他地方。或者,在执行数组初始化之前,您可能过早地设置了断点。
答案 1 :(得分:0)
给定代码没有错。请参阅下面的代码示例
#include <stdio.h>
#define BUFF_NOISE_SIZE 10
float prn_buff[BUFF_NOISE_SIZE]={0}; // Global array of floats
int main()
{
int i;
for(i=0;i<BUFF_NOISE_SIZE;i++){
printf("%f \n",prn_buff[i]);
}
return 0;
}
输出:
0.000000
0.000000
(...)