kel's idea is pretty good if you're forced to use C-style arrays. Simply use something other than a for-loop to iterate over the array:
Code:
int x = 0;
while(your_array[x] != NULL) {
// do something with your_array[x]
x++;
}
Of course this requires that you be unusually vigilant about ensuring that the NULL is always present at the end of the array. If you accidentally write a value to the last value of the array, the code will work fine until it hits one of these while loops, at which point you'll exit the bounds of the array (and probably segfault).