Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 00:55   #1
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию Структуры

Как понять такую структуру. Меня смущает то, что стоит typedef
перед словом structи после скобок структуры также стоит непонятно что.
как после скобок ещё что-то может писаться?

Код:
typedef struct _CUSTOM_DATA
{
      CString strName;        // Имя
      CString strFamily;      // Фамилия
      CString strAddress;     // Адрес
      CString strCompany;     // Компания
      CString strMailBox;     // Почта
} CUSTOM_DATA, *LPCUSTOM_DATA;
Golovastik вне форума Ответить с цитированием
Старый 28.02.2010, 01:02   #2
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Тут объявляется структура _CUSTOM_DATA. И сразу же обявляются переменная типа _CUSTOM_DATA и указатель на переменную типа _CUSTOM_DATA.
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer

Последний раз редактировалось Ozerich; 28.02.2010 в 01:19.
Ozerich вне форума Ответить с цитированием
Старый 28.02.2010, 01:06   #3
pproger
C++ hater
СтарожилДжуниор
 
Аватар для pproger
 
Регистрация: 19.07.2009
Сообщений: 3,333
По умолчанию

2Ozerich
неверно
тут объявляется структура _CUSTOM_DATA (ее тег) и объявляются 2 псевдонима на эту структуру, CUSTOM_DATA, *LPCUSTOM_DATA;

далее можем использовать это так:
CUSTOM_DATA cd; //объект структуры _CUSTOM_DATA
LPCUSTOM_DATA pCd; //указатель на структуру _CUSTOM_DATA
I invented the term Object-Oriented, and I can tell you I did not have C++ in mind. (c)Alan Kay

My other car is cdr.

Q: Whats the object-oriented way to become wealthy?
A: Inheritance
pproger вне форума Ответить с цитированием
Старый 28.02.2010, 01:07   #4
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Вы имеете ввиду, что тот код равносилен этому?
Код:
struct _CUSTOM_DATA
{
      CString strName;        // Имя
      CString strFamily;      // Фамилия
      CString strAddress;     // Адрес
      CString strCompany;     // Компания
      CString strMailBox;     // Почта
} 
_CUSTOM_DATA CUSTOM_DATA;
_CUSTOM_DATA*LPCUSTOM_DATA
Golovastik вне форума Ответить с цитированием
Старый 28.02.2010, 01:07   #5
netrino
Участник клуба
 
Аватар для netrino
 
Регистрация: 15.07.2008
Сообщений: 1,933
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
Тут объявляется структура _CUSTOM_DATA. И сразу же обявляются переменная типа _CUSTOM_DATA и указатель на переменную типа _CUSTOM_DATA
Не совсем...
В данном случае определяется тип _CUSTOM_DATA, затем, с помощью typedef для структуры объявляется альтер-имя CUSTOM_DATA, а для указателя на структуру объявляется имя LPCUSTOM_DATA

...
уу, опоздал )
netrino вне форума Ответить с цитированием
Старый 28.02.2010, 01:16   #6
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Ах да..ошибся.

Допустим есть объявление структуры
Код:
typedef struct item
{
int x,y;
}point, tochka;
Теперь сделать переменную в которой будет x и y мы можем 3 способами
1.item a
2.point a
3.tochka a

А если мы объявим структуру так
Код:
struct item
{
int x,y;
}
то сделать переменную мы можем только одним способом
Код:
item a
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer

Последний раз редактировалось Ozerich; 28.02.2010 в 01:19.
Ozerich вне форума Ответить с цитированием
Старый 28.02.2010, 01:19   #7
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Верен ли мой код с поста №4, правильно ли я понял?
Golovastik вне форума Ответить с цитированием
Старый 28.02.2010, 01:21   #8
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
Сообщение от Ozerich Посмотреть сообщение
это древний С. В С++ можно...
В C++ еще много чего можно. Кто сказал что для любых задач нужно использовать C++?
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 28.02.2010, 01:23   #9
Ozerich
Студент 1 курса
Форумчанин Подтвердите свой е-майл
 
Аватар для Ozerich
 
Регистрация: 27.06.2008
Сообщений: 959
По умолчанию

Цитата:
Сообщение от Golovastik Посмотреть сообщение
Верен ли мой код с поста №4, правильно ли я понял?
Код то верен, но не равносилен. Объяснение в посте 6
C++(STL, QT, WinInet) / DHTML(CSS) / JavaScript / PHP Developer
Ozerich вне форума Ответить с цитированием
Старый 28.02.2010, 01:27   #10
Golovastik
Заблокирован
 
Регистрация: 25.05.2009
Сообщений: 284
По умолчанию

Код:
Код то верен, но не равносилен.
Если знаете, напишите, чтоб код был равносилен, на моём коде из 1-го поста, так мне легче понять. Благодарю.
Golovastik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Структуры masha.dongyz Помощь студентам 2 19.12.2011 20:29
СТРУКТУРЫ frem-dag Общие вопросы C/C++ 9 05.12.2009 22:15
Структуры Shadovv13 Общие вопросы C/C++ 18 15.10.2009 23:03
Структуры Centyrion Общие вопросы C/C++ 4 06.05.2008 20:33