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

 
 
> Помогите с программированием
Romanello
сообщение Sep 3 2008, 17:31
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 138
Регистрация: 10-03-05
Пользователь №: 3 204



Пишу на СИ.

есть структура

typedef struct {

char pole1;
char pole2;
int pole3;

} STRUKTURA1;

typedef struct{
*STRUKTURA1;
}STRUKTURA2;

...

гдето хоту заполнять структуру 2

STRUCTURA2 STR;

STR[0].pole=1;
STR[1].pole=2;

Вот так программа вылетает скорее всего проблемы с памятью. У меня получаются проблемы с выделением памяти. Как мне указать необходимый размер памяти или надо выделить нужное количество с запасом?
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Sat360
сообщение Sep 4 2008, 09:54
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 26
Регистрация: 26-02-08
Из: Томск
Пользователь №: 35 391



Может имелось в виду что-то вроде:

typedef struct {
char pole1;
char pole2;
int pole3;
} STRUCTURA1;

typedef struct {
STRUCTURA1 *Pole4 ;
} STRUCTURA2;

...

{
STRUCTURA2 STR;
STR.Pole4 = new STRUCTURA1[10]; //Get memory for pole4
STR.Pole4[0].pole1 = 1;
}

???

Или:

...
{
STRUCTURA2* STR;
STR = new STRUCTURA2;
STR->Pole4 = new STRUCTURA1[10];
STR->Pole4[0].pole1 = 1;
}

ЗЫ не забудь освободить память.

Сообщение отредактировал Sat360 - Sep 4 2008, 09:55
Go to the top of the page
 
+Quote Post
Neural
сообщение Sep 10 2008, 13:55
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 30
Регистрация: 10-11-05
Пользователь №: 10 655



давно это было..

не стоит использовать new()..
если бы у вас был бы хотя бы примитивный графический интрефейс..
там бы понадобилось КУЧА и управления ею..

можно сделать так:
------------------------------------------------
typedef struct {
char pole1;
char pole2;
int pole3;
} STRUKTURA1;

typedef struct{
STRUKTURA1 *Pole4 ;
}STRUKTURA2;

char prostranstvo1[sizeof(STRUCTURA1)*2]; // 2 - pole4[0] и pole4[1]
main() {
STRUCTURA2 STR;
STR.pole4 = prostranstvo1;
STR.pole4[0].pole1 = 1;
STR.pole4[1].pole1 = 2;
}
------------------------------------------------
Go to the top of the page
 
+Quote Post



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

 


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


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