If you are reading a set of fixed columns you can use fscanf() as...
Code:
fscanf(myfile,"%f %f %f %f", &c[j][0],&c[j][1],&c[j][2],&c[j][3]);
Also note that you should be checking the return value of fscanf() to make sure you're getting the right number of conversions. (Details will be in your library documentation.)
BUT... when you have an unknown number of rows you have a much larger problem. You are going to have to set up a linked list with one row in each structure and read the file row by row (as above), creating a new list element for each.
Code:
typedef t_rows
{ float c[4];
t_rows *next
} rows, *prows;
You can study up on linked lists.... here
If you absolutely need this to end up in an array... you can count the number of rows from your linked list and use malloc() to make the appropriate array and copy the data out as you destroy your linked list.