2015-08-07 3 views
-2

Я наткнулся на программу на C, где она когда-то использовала argv[1] и argv[3], а затем argv[2][0]. Проблема заключается не в том, что я не могу различать одномерные массивы и двумерные массивы, проблема здесь заключается в использовании argv[2][0]. Как бы выглядел аргумент с такими измерениями? Почему вместо этого не использовался argv[2]?Почему у нас есть argv [2] [0]

Спасибо.

+0

Это не 2D-массив, но запись второго индекса - это символ из строки, на которую указывает первая запись индекса. – Olaf

+4

Может быть, программа интересовала только первый символ 2-го аргумента (т. Е. 'Argv [2] [0]')? Каков контекст? Отправьте соответствующий код. –

ответ

2

argv[2] является указателем на весь аргумент, а argv[2][0] - это только первый символ аргумента.

2

argv - это * char [], так что в основном массив строк. argv [2] [0] получит первый символ второго аргумента.

1

argv[2][0] - первый символ третьей строки (второй аргумент).

Смежные вопросы