The C99 standard allows variable sized arrays (see this). But, unlike the normal arrays, variable sized arrays cannot be initialized.
For example, the following program compiles and runs fine on a C99 compatible compiler.
0 0 0 0
But the following fails with compilation error.
Compiler Error: variable-sized object may not be initialized
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
Don’t stop now and take your learning to the next level. Learn all the important concepts of Data Structures and Algorithms with the help of the most trusted course: DSA Self Paced. Become industry ready at a student-friendly price.
- Initialization of static variables in C
- Implicit initialization of variables with 0 or 1 in C
- Initialization of global and static variables in C
- Initialization of a multidimensional arrays in C/C++
- Difference between Static variables and Register variables in C
- Initialization of data members
- Variables and Keywords in C
- Static Variables in C
- Can Global Variables be dangerous ?
- Why do we need reference variables if we have pointers
- Operations on struct variables in C
- Constants vs Variables in C language
- How are variables scoped in C - Static or Dynamic?
- What are the default values of static variables in C?
- How will you show memory representation of C variables?
- C Program to print environment variables
- Linking Files having same variables with different data types in C
- Swap two variables in one line in C/C++, Python, PHP and Java
- Problem Solving on Storage Classes and Scoping of Variables
- Why is a[i] == i[a] in C/C++ arrays?