Why do you need the casting operator to receive the correct size
of my_array? And what is it outputting if you don't use it?
Code:#include <stdio.h>
char * my_array[] = {"string1", "string2", "string3", ""};
int main()
{
printf("size of my_array = %u\n", sizeof( (char*)my_array));
return 0;
}