![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 13.02.2011
Сообщений: 81
|
![]()
Привет
Я не понимаю различия между transport и transport[0] transport и transport[0] это вроде указатели на motorcycle, а cout выводит разные значения Код:
|
![]() |
![]() |
![]() |
#2 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
имя массива это указатель на его первый элемент.
а array[0] это сам первый элемент. Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#3 |
Участник клуба Подтвердите свой е-майл
Регистрация: 19.11.2007
Сообщений: 1,022
|
![]()
Идентификатор массива т.е. его имя transport - это указатель на первый элемент массива, для того, что бы получить значение указателя, нужно его разыменовать, т.е. написать *transport .
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
![]()
cout << transport << endl; g++ вывел [motorcycle, bike, car, plane]
но вроде и совсем не обязан был этого делать, эта строка вроде не по стандарту?можно было ожидать адреса массива на выходе |
![]() |
![]() |
![]() |
#5 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]()
Да, интересное поведение. А должен был просто адрес вывести.
У меня после компиляции g++ просто адрес выводит.
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su Последний раз редактировалось Obey-Kun; 13.02.2011 в 18:50. |
![]() |
![]() |
![]() |
#6 |
:D
Форумчанин
Регистрация: 26.09.2010
Сообщений: 570
|
![]()
ну по идее если массив символов - должен вывести все что в нем хранится вплоть до \0,
Пишу ПО, создаю сайты, делаю курсовые работы, за деньги
C#, .NET, MS SQL, AngularJS, HTML, jQuery |
![]() |
![]() |
![]() |
#7 |
Линуксоид
Участник клуба
Регистрация: 31.07.2009
Сообщений: 1,403
|
![]()
не
во-первых, первый \0 там будет в первом элементе во-вторых, он должен в любом случае адрес вывести
Я схожу с ума или это глючит реальность?
Jabber ID: obey@obey.su |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
![]()
вот оно
http://codepad.org/jPEUhnYJ |
![]() |
![]() |
![]() |
#9 | |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]() Цитата:
а у нас тип массива string* (точнее имя массива имеет этот тип) Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
|
![]() |
![]() |
![]() |
#10 | ||
Форумчанин
Регистрация: 31.01.2011
Сообщений: 160
|
![]() Цитата:
gcc богат нестандартными расширениями например setbase Цитата:
хотя тот же msvc помню какойто бред выводил |
||
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Указатели | GrihaI | Общие вопросы C/C++ | 11 | 06.05.2010 18:53 |
указатели в С++ | Aleksa_ks | Помощь студентам | 3 | 27.04.2010 19:31 |
C++ указатели. | tshen | Помощь студентам | 3 | 16.04.2010 22:00 |
Указатели(С++) | Scarletred | Помощь студентам | 0 | 05.04.2010 22:50 |
[C] массивы, указатели, двойные указатели. | Iggel | Общие вопросы C/C++ | 5 | 05.05.2009 12:39 |