Модераторы: bsa
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> отличие char от char[] 
:(
    Опции темы
kLASTER
Дата 8.10.2013, 14:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 14.9.2011

Репутация: нет
Всего: нет



Доброго времени суток!

Код

const int Len = 40;
struct golf
{
  char fullname[Len];
  int handicap;
}
/////////////////////////////////////////////////
while(play[0].fullname != ' ')
  {
    int i = 0;
    cin >> play[i].fullname >> play[i].handicap;
    i++;
  }


Объясние, пжл, если я убираю размер fullname в структуре, то цикл работает, иначе выдает ошибку.

PM MAIL   Вверх
Alexeis
Дата 8.10.2013, 16:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Амеба
Group Icon


Профиль
Группа: Админ
Сообщений: 11743
Регистрация: 12.10.2005
Где: Зеленоград

Репутация: 4
Всего: 459



char это 1 символ char[] это массив
play[i].fullname - это указатель на первый элемент массива. Сравнивать указатель с ' ' бессмысленно . Указатель никогда не будет равен ' ' поэтому и получается бесконечный цикл. Чтобы понять что не так, нужно понять что должен этот код делать. 


--------------------
Vit вечная память.

Обсуждение действий администрации форума производятся только в этом форуме

гениальность идеи состоит в том, что ее невозможно придумать
PM ICQ Skype   Вверх
kLASTER
Дата 9.10.2013, 07:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 14.9.2011

Репутация: нет
Всего: нет



почему char это один элемент. Я так же могу записать в char слово и буде это тоже массив из букв ( [c][h][a][r][\0] ). 
А указатель, указывает на адрес где хранится массив.
И что не так?

Это сообщение отредактировал(а) kLASTER - 9.10.2013, 07:09
PM MAIL   Вверх
NoviceF
Дата 9.10.2013, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Цитата(kLASTER @  9.10.2013,  08:08 Найти цитируемый пост)
Я так же могу записать в char слово


Попробуй smile И результат запости сюда.
PM MAIL   Вверх
NoviceF
Дата 9.10.2013, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 313
Регистрация: 13.3.2012
Где: Ростов-на-Дону

Репутация: 2
Всего: 2



Цитата(kLASTER @  9.10.2013,  08:08 Найти цитируемый пост)
указатель, указывает на адрес где хранится массив.
И что не так?

Ты сравниваешь указатель, который есть число(причём относительно большое), с символом ' ' (который, впрочем, тоже есть число, но на порядки меньшее), не видишь в этом никаких проблем? 

Что с чем ты на самом деле хочешь сравнить?
PM MAIL   Вверх
vol4ek
Дата 9.10.2013, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


конь в пальто
**


Профиль
Группа: Участник
Сообщений: 304
Регистрация: 1.5.2011
Где: Минск

Репутация: нет
Всего: 0



да и в цикле i всегда 0
PM MAIL ICQ   Вверх
kLASTER
Дата 9.10.2013, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 38
Регистрация: 14.9.2011

Репутация: нет
Всего: нет



спасибо разобрался! В данном случае play[i].fullname[i];
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "C/C++: Для новичков"
JackYF
bsa

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.1220 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.