I have a function that accepts a variable length array of 80 character strings. I defined the function like so:
void foo (char namelist[][80] ...
in main() I do the following:
char **names = (char **)malloc(numNames * 80);
foo(names);
The type of names here is not correct. What is the appropriate way to type it as a variable length array of fixed length arrays?
namesshould be declared as:This declares
namesas a pointer to an array of 80 chars.By the way, there’s no need to cast the return value of
mallocin C and many people consider it bad practice. See: 1, 2.