каков размер выделенного буфера для argv[0]
и последующих аргументов
Ответ "по крайней мере достаточно большой, чтобы содержать строку, на которую указывает нулевой терминатор".
Например, в типичной системе Unix с командой
cat /etc/passwd
argc
будет два, а буфер, выделенный для argv[0]
, будет не менее 4 байтов, а буфер, выделенный дляargv[1]
будет не менее 12 байтов.Вы не можете предполагать что-либо еще о размерах буферов или о том, как и где они размещены.Об этом заботится код прелюдии, который запускается до main
.