char (*tp[N])[] ?
One more suggestion. You might NULL terminate your arrays just like
strings are NUL-terminated.
char *fruits[] = {"apples", "oranges", bananas", NULL};
This should let you not have to keep track of NF if you don't want to, you
just increment an index and compare fruits[i] to NULL each time.
I'm not sure whether that would work if "\0" is a valid string for your
purposes.
Dale Larson
– An Amiga Software Engineer with some time on his hands.