|
|
|
динамический массив в структуре
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть такая пзадача: нужно сделать динамический массив структур, причем в структуре так же существует динамический массив. Помогите разобраться, как к нему правильно обращаться, потому что мои потуги не приводят к положительному исходу. Текст того что навоял: typedef struct { int *delta; // динамический массив в структуре int posN; int posCnt; int posCounter; } l_struct; // функция, задающая начальные значения void lampReset(l_struct *lamp) { lamp = new l_struct; lamp->delta = new int[3]; //выделение памяти под массив lamp->posN=3; lamp->posCnt=0; lamp->posCounter=0; //собственно само проблеммное место: for(int i=0;i<3;i++) { lamp->delta =(i+12); }; } void main(void) { l_struct *lamp0; lampReset(lamp0); printf("\nARRAY:"); for(int i=0;i<3;i++) { printf("\n%d",lamp0->delta); // выводит чушь }; }; Заранее спасибо за ответ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 12:02 |
|
||
|
динамический массив в структуре
|
|||
|---|---|---|---|
|
#18+
1. Проблемное место - к дельте обращайся по индексу. 2. В функцию создания структуры надо передовать указатель или ссылку на память, где будет храниться структура. Или же она должна сама возврать указатель на структуру. В коде который у тебя, переменная lamp0 не получает нового указателя на структуру. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.11.2006, 12:08 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=34163604&tid=2029940]: |
0ms |
get settings: |
11ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
40ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 503ms |

| 0 / 0 |
