argv
- это, как говорит функция, указатель на указатель на символ, который с точки зрения размера означает, что это указатель. Как правило (почти всегда, но не гарантировано?), Все указатели имеют одинаковый размер. Если это 64-битная машина, указатели будут иметь размер 8 байт. В этом случае argv
содержит пять элементов: указатели на пять указателей на символы: './x', 'y', 'z', 'w' и NULL, поскольку argv
имеет нулевое окончание.
По моим подсчетам, это оставляет 40 байт в argv
, поэтому я не уверен, где он получает остальные 8.
Редактировать: Как кто-то еще предположил, argv
сама также заняла бы место для указателя, так что есть другие 8.