Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
mihaprad
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 60
#1

Что значит две звездочки у char? - C++

01.07.2015, 02:36. Просмотров 1015. Ответов 7
Метки нет (Все метки)

C++
1
int main(int argc, char** argv)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isobo531
42 / 42 / 11
Регистрация: 11.11.2014
Сообщений: 322
01.07.2015, 02:38     Что значит две звездочки у char? #2
Указатель на строковый двумерный массив.
Байт
Эксперт C
 Аватар для Байт
15073 / 9475 / 1389
Регистрация: 24.12.2010
Сообщений: 17,531
01.07.2015, 07:25     Что значит две звездочки у char? #3
Я бы даже сказал "массив указателей на строки" или "указатель на массив указателей на строки"
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2015, 14:49     Что значит две звездочки у char? #4
Цитата Сообщение от Байт Посмотреть сообщение
"массив указателей на строки" или "указатель на массив указателей на строки"
Что-то одно другому противоречит.
Цитата Сообщение от mihaprad Посмотреть сообщение
Что значит две звездочки у char?
В данном случае через argv обеспечивается доступ к аргументам выполняемой программы, argc задает кол-во этих аргументов. Если учесть, что по соглашению в среде си-программистов, char* (указатель на символ) является строкой (которая завершается нулевым символом), то исходную запись можно несколько видоизменить:
C++
1
2
typedef char* string; // задаем вспомогательный тип - строка
int main(int argc, string* argv )
В таком варианте уже должно быть более очевидно, что argv - есть указатель на строки. А учитывая, что типы T* и T[], указанные в списке аргументов функции, эквивалентны, можно представить и в такой варианте:
C++
1
int main(int argc, string argv[] )
Здесь уже точно не должно возникать сомнений в том, что argv - массив строк.
isobo531
42 / 42 / 11
Регистрация: 11.11.2014
Сообщений: 322
01.07.2015, 15:07     Что значит две звездочки у char? #5
argv - двумерный массив указателей на строки
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2015, 15:36     Что значит две звездочки у char? #6
Цитата Сообщение от isobo531 Посмотреть сообщение
двумерный массив указателей на строки
Если двумерный, то на символы, а не на строки.
Если на строки, то не двумерный.
isobo531
42 / 42 / 11
Регистрация: 11.11.2014
Сообщений: 322
01.07.2015, 15:39     Что значит две звездочки у char? #7
Tulosba, Может у автора ошибка..
Я знаю
C++
1
int main (int argc, char * argv[])
В этом случае argv будет массивом указателей на строки.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.07.2015, 15:41     Что значит две звездочки у char?
Еще ссылки по теме:

Ребят что означаеют две звездочки в самом начале когда объявляем массив C++
C++ Что означает такая запись char *smt=new char[1]?
C++ Для чего нужно дописывать "**", две звездочки?
Преобразование char в char* или разделить на две строки C++
Что значит запись char massiv[] = "text" ? C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Tulosba
:)
Эксперт С++
4384 / 3227 / 297
Регистрация: 19.02.2013
Сообщений: 9,044
01.07.2015, 15:41     Что значит две звездочки у char? #8
Цитата Сообщение от isobo531 Посмотреть сообщение
В этом случае argv будет массивом указателей на строки.
Но не двумерным же
Yandex
Объявления
01.07.2015, 15:41     Что значит две звездочки у char?
Ответ Создать тему
Опции темы

Текущее время: 18:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru