I will assume you are working with strings here, and wish to check whether or not the string is “empty” — meaning a string of zero length.
Since Barmar just posted his answer as I was typing this, I will continue only by adding another way of looking at it:
char * s = array[0];
// array[0] is a (`char[13]`),
// which decomposes into a `char*`,
// meaning its ADDRESS is a pointer to char, which is what `s` is.
if (*s) {
printf("%s\n", "element 0 (the first string in the array) is NOT empty");
} else {
printf("%s\n", "element 0 (the first string in the array) is EMPTY")
}
Remember, an array of char where one of those characters has a value of '\0' (or nul) is a “string”.
An empty string is one where the first character is nul (== '\0').
An (erroneously-called) null string is one where a pointer to a string is NULL. That is to say, the string itself cannot actually be null, but a pointer can be null, so if you have a pointer to an array of characters (a pointer to a string) then that pointer can be null.
“Null” (and all variations on spelling) just means zero. So, strings are nul-terminated, meaning that the string data ends with a character value of zero. Null pointers are just pointers with an effective value of zero.
⟶ So in your example you have a two-dimensional array of characters, which can be interpreted as a one-dimensional array of strings (since a string is an array of characters). Consequently, it is not possible to have a null string, but you can have an empty string.
For this to be true, though, each row of your two-dimensional array must have a nul character in it somewhere, since each row represents a string, which must be nul-terminated (== end with a zero).
Note also that not every available character need be part of the string. You have room for 13 characters in each string, one of which must be nul, so you can store strings of lengths between 0 and 12, inclusive.
I know, it is a bit confusing at first blush, but if you keep in mind how more complex structures are built from smaller ones then it is easier to make sense of it.
array[0]becomes a pointer to another array, and won't beNULL.array[0][0]would be0.