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

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

Восстановить пароль Регистрация
 
mihaprad
0 / 0 / 0
Регистрация: 01.06.2015
Сообщений: 60
01.07.2015, 02:36     Что значит две звездочки у char? #1
C++
1
int main(int argc, char** argv)
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
isobo531
42 / 42 / 11
Регистрация: 11.11.2014
Сообщений: 322
01.07.2015, 02:38     Что значит две звездочки у char? #2
Указатель на строковый двумерный массив.
Байт
 Аватар для Байт
13941 / 8772 / 1220
Регистрация: 24.12.2010
Сообщений: 15,872
01.07.2015, 07:25     Что значит две звездочки у char? #3
Я бы даже сказал "массив указателей на строки" или "указатель на массив указателей на строки"
Tulosba
:)
Эксперт C++
4377 / 3220 / 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
:)
Эксперт C++
4377 / 3220 / 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++ Что означает такая запись char *smt=new char[1]?
C++ Для чего нужно дописывать "**", две звездочки?
Преобразование char в char* или разделить на две строки C++

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

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

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