char * myFunction () { char sub_str[10][20]; return sub_str; } void main () { char *str; str = myFunction(); }
error:return
char *f() { static char str[10][20]; // ...... return (char *)str; } int main() { char *str; str = f(); printf( "%s\n", str ); return 0; }
You can use static instead of malloc. It's your choice.