初始化浮点数组 C

initiallizing float array C

我使用 Code Composer Studio 版本:6.0.1.00040 和 LCDK C6748 卡工作。

但我认为这是一道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()时,不是所有的全局变量都已经初始化了吗?

Is the initiallization wrong? or I should be looking for something else?

初始化很好,它将数组的所有项设置为 0.0f。问题可能出在您代码的其他地方。或者您设置断点的时间过早,在数组初始化执行之前。

给定的代码没有错误。请参阅下面的代码示例

#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                                                                                                                                                                        
(...)