one thing that looks troublesome is this
to me, you have declared a 2d array. but then you write this
which is referring to a whole row of structs. I think you want to refer to a single struct only, so something like
would be more appropriate
but thats not the biggest problem. there is something very wrong with this line still. ill give you an equivalent line of code using integers only;
int is a data type, you cant assign it a value. similarly, course_t is a data type, not a variable, so you cannot alter it.
so how would you solve this problem using integers? you would write
similarly, you need to write
variableNameHere = 3*5;
those are a few of the bigger problems.
i also dont like the fact that your structs include pointers to eachother. to me that means they would be infinitely big. like you have structA, and inside structA is structB, and inside structB is structA, and inside structA is structB, etc.