I can't understand how Arduino can't provide methods for easy use of arrays, like length of array or check if array is empty. Seems pretty basic to me.
You should start by describing what you really want to do, not how you think it should be done. The code you posted is a jumbled-up mess of different data types and classes.
The argument parents is a pointer; the size of a pointer is fixed (2 bytes on AVR, 4 bytes on 32 bit architectures).
The size of a String object (e.g. parents[0]) is 6 (on AVR, not sure about 32 bit, it is probably 8).
the first is a typical c-string (char array). setting it to null implies that nothing in memory is allocated where char * parents [10] = {};
means there's a 10 byte array with all elements set to 0 (i.e. null)
sorry, the above is wrong, parents an array of char arrays, but nothing it allocated
the 2nd suggests an array of c-string, an array of arrays. with each c-string array allocated the # of bytes to store the specified c-string (e.g. "hourly")
you can pass a ptr to an array of arrays along with value indicating the # of arrays.
you can then check both is the ptr to the array, e.g. parents [1] is nul (is there any memory allocated, and if there is, does it have content, is the 1st byte not nul, parents [1][0] == nul