陣列初始化時的陷阱
阿新 • • 發佈:2020-12-27
技術標籤:c語言
#陣列初始化時的陷阱
陣列簡單初始化
int arr[]={0};
int buf[10]={0};
下面這種不進行初始化時編譯通過
int n;
sacnf("%d",&n);
int arr[n];
int n=10;
int arr[n];
但進行初始化時就會報錯
int n;
sacnf("%d",&n);
int arr[n]={0};
int n=10;
int arr[n]={0};
意思是可變長的陣列不能被初始化,也就是說,n是變數,不能再定義陣列時對陣列內的元素初始化,想要初始化需要限定陣列的範圍
int n=10;
int arr[n];
for(int i=0;i<n;i++)
{
arr[i]=0;
}
這樣才能對陣列中的元素初始化