Yep, you're nearly there!
newargv[newargvSize] = (char*) malloc(strlen(word) + 1);
Quite right, it is not an integer. It's a pointer, i.e. an address. You need to dereference the pointer. The dereferencing operator in C is *, and you need to use it whenever you want to access the value pointed to. So you should access the array like:
Originally Posted by search
Assign to newargvSize in parse like
newargv[*newargvSize] = (char*) malloc(strlen(word) + 1);
The rest of it looks correct, if you can't return the size.
int parse(char *newargv, int *newargvSize)
// main method
returnValue = parse(newargv, &newargvSize);
printf("newargvSize = %i", newargvSize); // no * needed here, newargvSize is not a pointer