On initializing a Variable length array compiler gives an error message:
[Error] variable-sized object may not be initialized
Code snippet:
int n;
printf("Enter size of magic square: ");
scanf("%d",&n);
int board[n][n] = {0};
How should Variable Length arrays be initialized?
And why it's all elements are not initialized to 0
in the way give below;
int board[n][n];
board[n][n] = {0};
?
You'll have to use memset
:
memset(board, 0, sizeof board);