The langage C is a very complicated langage.
Everybody know the variable int(4 bytes) , double(8bytes floating point), char(1 byte) and float(4 bytes floating point). They are useful to store some data of the same types.
The loop while and for can repeat some instructions as many time as you want. In this example, the while repeat the incrementing of the i 10 times, like the for who display the variable i 10 times.
The if statement test if the variable i equal 10 and print this variable with printf and add it 200 in the same time.
With the stdin scanf, we can enter some text, and convert it in the data type we want.
The scanf retrieve the data type with the %d for the integer and for the other type like explained above in green.
The printf display the data with the same way in using the %d for the integer and for the other type of data(%c, %s, ...).
First, we allocate an array of 500 int with malloc. The function malloc allocate memory that we need.
After, we allocate a 2d array with a double pointer varint2. We allocate first an array of 1024 bytes, because we don't knwow the size of the input. And we retrieve the input with scanf.
Then, we use realloc to give the exact size to the array of the same size of the input.
The function allows you to execute a piece of code in a scope that you can call as many times as you want.
The function Retrieve_input take a parameter input of type char** and retrieve the data in this variable.
We call that function in the main function and display the variable varint that we passed into the function Retrieve_input.
Finally, the C is a complete langage and we can do what we want with. It's hard for the beginner but with this base you can do anything.