如何仅在5个阵列的阵列中初始化第4个位置

mah*_*esh 1 c c++

我希望在5个位置阵列的第4位存储10个.怎么做 ?

int main( ) 
{  
    int a[5] = {,,,,4} ;
    return 0; 
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做我会得到错误.请帮忙.

提前致谢.

Jer*_*fin 16

您无法通过初始化来执行此操作,但您可以保留未初始化的数据,然后分配给您关注的数据:

int a[5]; a[3] = 10;
Run Code Online (Sandbox Code Playgroud)

我不确定你为什么要这样做,但这是一个完全独立的问题......

编辑:我应该在C99中添加,你可以使用初始化:

int a[4] = { [3]=10 };
Run Code Online (Sandbox Code Playgroud)

这称为指定初始化.