int value=1; int arr[2]={value,2};//C语言错,C++对 int arr1[2]; arr1[0]=1;//C语言错,C++错 int a; a=10;//C语言错,C++错 struct Mystuct { int myvalue; }; int main() { int num; static int arr[2]={num,2};//C语言错,C++错 int num1=10; static int arr1[2]={num,2};//C语言错,C++错 struct Mystuct mystuct[2]; mystuct[0]={1};//C语言错,C++对 return 0; }
C语言全局作用域的数组元素不能用变量初始化
C语言static关键字修饰的数组不能用变量初始化
C/C++语言全局作用域的变量或数组不能在定义作用域先定义再在全局作用域初始化,可以在全局定义局部作用域中初始化
C/C++局部作用下的变量必须先初始化再使用
C语言结构体数组如果先定义再初始化,初始化时不能用大括号只能用./->
Keil和vs2022,其他IDE还不清楚