 Up to this point, all of our arrays have had a fixed size. Sometimes though, you'd like to ask the user how big they want the array to be. For example, in this code, I'm asking an instructor how many students they have, and how many quizzes they have, getting those scores, and finding the average score for each quiz. If someone runs the program and says they have five students and three quizzes, which I store in variables named n students and n quizzes, c lets me create an array named scores with dimensions equal to whatever is in those variables. In this case, an array of five rows and three columns, where each row represents the quiz scores for an individual student. If someone else runs the program and says they have seven students and four quizzes, that same line of code will create a seven row, four column array instead. This is called a variable length array. The length is based on what's in a variable instead of a fixed number. What we can't do is initialize a variable length array with braces. In this code, it's not important since we need to ask the user to enter the data, which will do an enlisted loop. Rather than explain each line as I type it, I'll show blocks of code and you can pause the video to examine them. Here's the declaration for the variable length array. The outer loop for our input will prompt for a student's scores. I'm using variables in the prompt to remind the user which student they're entering scores for and how many scores they need to enter. I'm adding one to my student index because I want users to see numbers starting at one, not zero. The inner loop does the actual reading of the scores for that row. Let's build and run the program to make sure it works so far. If I have four students with three quizzes, student one, and I'm just making these numbers up as I go along, so far it looks good. After I finish reading in all the scores, I'll put in a blank line for spacing and readability and then use another nested loop to get the average quiz scores and print them. In this nested loop, the outer loop runs through the quizzes and the inner loop runs through the students for each quiz. Let's build and run again. Let's have four students with three quizzes and again I'm going to make up some numbers and there are the averages for the three quizzes. The important part of this program is this line here that gives me my variable length arrays. A word of warning, some C compilers may not support variable length arrays. You may want to write a small program just to test that your compiler does support them. In this program, I'm setting a variable to a number and then creating a one dimensional array with that variable as the length. If it compiles correctly, then the compiler supports that feature. If not, it doesn't. And that's the information you need to know to use variable length arrays in C.