float型数组初始化有关问题

float型数组初始化问题请问一个flaot data[500]的数组,如何不用循环把它全部初始化为 -1,在线等,急求,谢谢

float型数组初始化问题
请问一个flaot data[500]的数组,如何不用循环把它全部初始化为 -1,在线等,急求,谢谢
[解决办法]

#include <stdio.h>
float data[500];
int i;
void main() {
    for (i=0;i<500;i++) {data[i]=1.0f;printf("%g\n",data[i]);}
    __asm {
        push ecx
        push edi
        mov ecx,500
        mov eax,0xBF800000 //-1.0f
        lea edi,data
        rep stosd
        pop edi
        pop ecx
    }
    for (i=0;i<500;i++) printf("%g\n",data[i]);
}
//500行1
//500行-1

[解决办法]
15楼的想法 可以这样实现 
#include <stdio.h>
#define A(B) B,B,B,B,B,
#define C(B) B B B B B B B B B B
int main()
{
float arr[]={C(C(A(-1)))};
for(int i=0; i<500; ++i)
printf("%g\t", arr[i]);
return 0;
}