![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 136
|
![]()
Здравствуйте.Возник вопросик - про "как элементы массива argv могли бы указывать записи командной строки."
Код:
Argv[0] = П р и в е т NULL [7] Argv[1] = Ф а й л NULL [5] Argv[2] = К о т NULL [4] Под каждый аргумент должно выделяться одинаковое кол-во памяти,т.е. получается что при файле NULL будет занимать 3 и при коте 4 ??? И второй вопрос: Специфика си компилятора позволяет без ошибки компилировать это место Код:
|
![]() |
![]() |
![]() |
#2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
![]() Цитата:
И вообще. Для определения длины аргумента применяй strlen() как и с обычными сишными строками
I'm learning to live...
|
|
![]() |
![]() |
![]() |
#3 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]() Код:
Отсюда вытекает ответ и на второй вопрос. argv[i] - указывает на начальную ячейку, а второй индекс - смещение относительно неё
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
#4 | ||
Форумчанин
Регистрация: 06.08.2009
Сообщений: 136
|
![]() Цитата:
Цитата:
И кстати судя по этой картинке - память для всех аргументов одинаковая.. |
||
![]() |
![]() |
![]() |
#5 | ||
Участник клуба
Регистрация: 15.07.2008
Сообщений: 1,933
|
![]() Цитата:
Цитата:
|
||
![]() |
![]() |
![]() |
#6 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
вообще можно сказать что там записано так char** (а не char* argv[]) тогда беря первый индекс мы берем указатель(char*) а через него можем получить доступ к каждому символу аргумента Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. Последний раз редактировалось Пепел Феникса; 21.01.2010 в 18:14. |
|
![]() |
![]() |
![]() |
#7 |
Форумчанин
Регистрация: 06.08.2009
Сообщений: 136
|
![]()
Так с этим ясно)
Ну почему мы все таки имеем право использовать двухмерный массив,если задали одномерный??? |
![]() |
![]() |
![]() |
#8 |
Меркантильный кю
Участник клуба
Регистрация: 02.02.2008
Сообщений: 1,001
|
![]() Код:
Строка - это тоже массив, а в argv хранится массив указателей на строки
Росли вроде умными, выросли дурнями... (c)А.Васильев
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
1.Найти в матрице первую строку, все элементы которой отрицательны 2.отсортировать элементы массива по в | w0lf16 | Помощь студентам | 2 | 22.11.2009 15:47 |
Параметры из командной строки | ProGg | Паскаль, Turbo Pascal, PascalABC.NET | 5 | 13.02.2009 00:17 |
Си. Как суммировать элементы массива? | dma | Помощь студентам | 2 | 06.12.2008 17:11 |
переписать из массива в линейный двунаправленный список чётные элементы массива | Black_Ak24 | Помощь студентам | 12 | 08.01.2008 00:44 |
Как удалять элементы массива в Паскале? | Антонова Анна | Помощь студентам | 2 | 08.12.2007 17:01 |