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

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

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

Про typedef - C++

14.04.2013, 13:42. Просмотров 459. Ответов 3
Метки нет (Все метки)

Читаю книгу Дейтела наткнулся на программу, в которой не могу понять одну деталь, а именно смотрим в комментариях ниже.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h>
#include <stdlib.h>
 
struct listNode {
char data;
struct listNode *nextPtr;
};
 
typedef struct listNode LISTNODE; //просто LISTNODE стал синонимом listNode
typedef LISTNODE *LISTNODEPTR; //это не понятно, как указатель может стать синонимом типа структуру LISTNODE?
 
int main()
{
LISTNODEPTR startPtr = NULL; //это типа чтобы не писать LISTNODE *startPrt=NULL?
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
14.04.2013, 13:42     Про typedef
Посмотрите здесь:

Typedef - C++
Наткнулся на пример ниже: typedef char *cstring; //Каков тип переменной cstr в следующем объявлении: const cstring cstr; ...

применение typedef - C++
Какова роль &quot;*node&quot;(последняя строка) в данном случае? typedef struct rbtree_node { enum color color; void *key; void *value; ...

Отличия using и typedef - C++
Всем привет. Собственно вопрос в чем различия при использовании: using size_type = unsigned long; и typedef unsigned...

Improper use of typedef - C++
В структурах : struct ActionController { public : int Signature; int ID; int ndx; int ActionSetsCount; ActionSet *...

тип typedef - C++
можете кинуть какую нибудь программу с преобразованием типа typedef (С++), очень срочно нужно..

работа с typedef - C++
Объясните пожалуйста в чем смысл конструкции: typedef struct _XMFLOAT2 { FLOAT x; FLOAT y; } XMFLOAT2; typedef создает...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.04.2013, 13:44     Про typedef #2
Цитата Сообщение от aleksandr_t94 Посмотреть сообщение
это не понятно, как указатель может стать синонимом типа структуру LISTNODE
Просто читать следует как
C++
1
typedef LISTNODE* LISTNODEPTR;
LISTNODEPTR — это синоним для типа LISTNODE*.

Теоретически, такой тайпдеф помогает от ошибок вида:
C++
1
2
3
LISTNODE* startPtr, endPtr; // startPtr указатель, endPtr нет
 
LISTNODEPTR startPtr, endPtr; // оба указатели
aleksandr_t94
0 / 0 / 0
Регистрация: 27.01.2013
Сообщений: 100
14.04.2013, 13:50  [ТС]     Про typedef #3
Цитата Сообщение от OhMyGodSoLong Посмотреть сообщение
Просто читать следует как
C++
1
typedef LISTNODE* LISTNODEPTR;
LISTNODEPTR — это синоним для типа LISTNODE*.
А можно было так написать?
C++
1
typedef struct listNode *LISTNODEPTR;
А потом просто в int main писать так как и раньше:
C++
1
LISTNODEPTR startPtr=NULL;//можно же заменить на listNode *startPtr=NULL?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
14.04.2013, 13:55     Про typedef
Еще ссылки по теме:

_W64 в typedef - C++
Что такое _W64? typedef _W64 int ptrdiff_t;

typedef и vector - C++
typedef int array_Llist_upgrade; std::vector &lt;array_Llist_upgrade&gt; Llist_upgrade; array_Llist_upgrade array_Llist_upgrade_tmp; ...

не видит typedef - C++
вот примерно что в первом - a.h файле class a { enum eSomeEnum { a = 0, b, //... и так далее ...

Использование Typedef - C++
Читал книгу по паттернам и натолкнулся на такой пример в паттерне command: template&lt;class Receiver&gt; class SimpleCommand : public...


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

Или воспользуйтесь поиском по форуму:
OhMyGodSoLong
~ Эврика! ~
1243 / 992 / 42
Регистрация: 24.07.2012
Сообщений: 2,002
14.04.2013, 13:55     Про typedef #4
Конечно можно.
Yandex
Объявления
14.04.2013, 13:55     Про typedef
Ответ Создать тему
Опции темы

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