Вы имеете в виду количество строк в массиве?
Если массив был размещен в стеке в том же блоке, вы можете использовать трюк sizeof(foo)/sizeof(foo[0])
.
const char *foo[] = { "abc", "def" };
const size_t length = sizeof(foo)/sizeof(foo[0]);
Если вы говорите о argv
, передаваемом в main, вы можете посмотреть на параметр argc
.
Если массив был выделен в куче или передан в функцию (где он может распасться науказатель), вам не повезло, если тот, кто выделил его, тоже не передал вам размер.