реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> type простой вопрос
sergey sva
сообщение Sep 27 2011, 03:41
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Можно при объявлении типа указать этот же тип?
Код
type struct {
int a;
int b;
int c;
typydata ff;
}typydata;

может как по другому.
Go to the top of the page
 
+Quote Post
alexeyv
сообщение Sep 27 2011, 03:47
Сообщение #2


Местный
***

Группа: Участник
Сообщений: 298
Регистрация: 26-01-09
Из: Пермь
Пользователь №: 43 940



Открываем книгу Кернигана и Ричи и читаем раздел 6.5:
Цитата
struct tnode { /* узел дерева: */
char *word; /* указатель на текст слова */
int count; /* частота употребления */
struct tnode *left; /* левый дочерний узел */
struct tnode *right; /* правый дочерний узел */
};
Рекурсивное объявление узла может показаться сомнительным, но оно вполне
правильно. Структуре не разрешается иметь в качестве компонента экземпляр самой себя,
но здесь объявляется указатель на tnode, а не сама структура
:
struct tnode *left;


В Вашем случае:
Код
type struct {
int a;
int b;
int c;
typydata* ff;
}typydata;


Что за слово type? Может все-таки typedef?

Сообщение отредактировал alexeyv - Sep 27 2011, 03:50
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 27 2011, 03:55
Сообщение #3


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



понял, только через указатель, а как сделать если нужен массив из 7 таких ?
Код
type struct {
int a;
int b;
int c;
typydata ff[7];
}typydata;

объявить массив отдельно а адрес этого массива записать в указатель?

Цитата
Что за слово type

да typedef опечатка.
Go to the top of the page
 
+Quote Post
Lotor
сообщение Sep 27 2011, 04:08
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 476
Регистрация: 3-07-07
Из: Санкт-Петербург
Пользователь №: 28 866



не внимателен с утра - уже про указатели ответили...


Код
typedef struct T_MENU_ITEM
{
    const    struct  T_MENU_ITEM    *pEnter;
    const    struct  T_MENU_ITEM    *pLeft;
    const    struct  T_MENU_ITEM    *pRight;
    const    struct  T_MENU_ITEM    *pDefault;
    void (*pFunc)(void);
} MENU_ITEM;


--------------------
Ковырял чукча отверткой в ухе, звук в телевизоре и пропал.
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 27 2011, 05:59
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Код
typedef struct {
int a;
int b;
int c;
typydata *pff;
}typydata;


typydata ff[7];
typydata aa;

aa->pff= &ff[0];

нужно как то так. может есть еще способ.
Go to the top of the page
 
+Quote Post
demiurg_spb
сообщение Sep 27 2011, 07:09
Сообщение #6


неотягощённый злом
******

Группа: Свой
Сообщений: 2 746
Регистрация: 31-01-08
Из: Санкт-Петербург
Пользователь №: 34 643



Код
typedef struct foo_tag
{
    int a;
    int b;
    struct foo_tag* array[];
} foo_t;
Структура содержит массив указателей на структуры своего типа. Оно?


--------------------
“Будьте внимательны к своим мыслям - они начало поступков” (Лао-Цзы)
Go to the top of the page
 
+Quote Post
Сергей Борщ
сообщение Sep 27 2011, 08:53
Сообщение #7


Гуру
******

Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095



QUOTE (sergey sva @ Sep 27 2011, 06:41) *
Можно при объявлении типа указать этот же тип?
А как вы себе это представляете физически? Рекурсивная структура? нарисуйте на бумажке, как эта структура должна была бы располагаться в памяти, было бы интересно посмотреть.


--------------------
На любой вопрос даю любой ответ
"Write code that is guaranteed to work, not code that doesn’t seem to break" (C++ FAQ)
Go to the top of the page
 
+Quote Post
sergey sva
сообщение Sep 27 2011, 19:35
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 546
Регистрация: 23-05-07
Из: Самарская область Сызрань
Пользователь №: 27 923



Цитата
А как вы себе это представляете физически? Рекурсивная структура? нарисуйте на бумажке, как эта структура должна была бы располагаться в памяти, было бы интересно посмотреть.

хорошую идею подсказали пока рисовал на бумажке понял что нужно))
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 20th July 2025 - 07:31
Рейтинг@Mail.ru


Страница сгенерированна за 0.01414 секунд с 7
ELECTRONIX ©2004-2016