|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
25.04.2012, 21:55 | #1 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
Массив указателей на структуры...
Доброго дня уважаемые! Моск ломаеца- суть проблемы-пишу программу со структурами,
struct student { char name[100]; struct { int dd;//день int mm;//месяц int yy;//год }date_in; struct { int dd; int mm; int yy; }date_out; }; и вот собственно необходимо по ходу реализации создавать кучу таких структур и запихать все в массив, а лучше указатели на структуры в массив указателей(о боги) пишу так... student student_1={"Кудаев С.С.",{1,0,1},{2,8,6}}; student *stud_array[100];//массив указателей, не? *stud_array[0]=&student_1;//по ходу выполнения программы будут создаваться новые структуры, а для начала занести первую и нифига не правильно!!!! прошу подскажите... и ещё подскажите пожалуйста как передавать сей массив в функцию что то вроде - void output_struct(struct student** p, const int size); а вызов функции- output_struct(**stud_array, 100); ? |
26.04.2012, 10:40 | #2 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Непонятно зачем тебе указатели на структруры здесь. Храни сами структуры в массиве.
Код:
Помог? Оставляем отзыв =)
|
26.04.2012, 12:37 | #3 |
Старожил
Регистрация: 19.08.2009
Сообщений: 2,119
|
Кудаив
указатели на структуры в массив указателей учти, что память при этом придется освобождать самостоятельно. Код:
и ещё подскажите пожалуйста как передавать сей массив в функцию void zzz(student* begin, size_t N); использование: zzz(arr, 100); // передаем имя массива и его размер а теперь - забудь обо всем, что написано выше (((((Ж правильный путь - использовать C++ Код:
А вы почему со мной не соглашаетесь, у вас что, импотенция? (c) ACE Valery
|
26.04.2012, 13:28 | #4 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Объявлять конструкторы структур не есть хорошо.
student* arr[100]; В таком случае память освобождать не нужно, структуры и массив создаются на стеке, удаляться сами после выхода из функции.
Помог? Оставляем отзыв =)
|
26.04.2012, 15:41 | #5 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
на С++ на учёбке было что то подобное- сделал без проблем через 1 класс и вектор, но эту задачку надо именно на си написать...
|
26.04.2012, 15:43 | #6 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
а вот
test(mas,2); это же передача в функцию указателя на массив- правильно понимаю? |
26.04.2012, 15:45 | #7 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Ну как бы да =)
Помог? Оставляем отзыв =)
|
26.04.2012, 16:43 | #8 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
Помог помог!! благодарю))
|
26.04.2012, 17:16 | #9 |
Пользователь
Регистрация: 19.04.2012
Сообщений: 57
|
проблема вылазит не пойму чего не так...
записываю в массив const int size=100; student *stud_array[size]; stud_array[0]=&student_1; stud_array[1]=&student_2; stud_array[2]=&student_3; stud_array[3]=&student_4; и вывожу функциейvoid output_struct(student** p, const int size ){ for(int i=0; i<size; i++){ printf("%d %s %d.%d.%d %d.%d.%d\n",i, (p[i])->name, (p[i])->date_in.dd, (p[i])->date_in.mm, (p[i])->date_in.yy, (p[i])->date_out.dd, (p[i])->date_out.mm, (p[i])->date_out.yy); } } ошибка не при компиляции а уже при исполнении... Последний раз редактировалось Кудаив; 26.04.2012 в 17:20. |
26.04.2012, 17:23 | #10 |
Форумчанин
Регистрация: 24.04.2012
Сообщений: 300
|
Потому что у тебя массив не заполнен на все 100 элементов, нужно в размере 4 передать в данном случае
void output_struct(student** p, const int size ) - сюда
Помог? Оставляем отзыв =)
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Массив указателей | nattaella | Компоненты Delphi | 2 | 11.06.2011 16:40 |
Указатель на массив указателей на массив char'ов... | SrgGld | Общие вопросы C/C++ | 0 | 19.11.2010 23:35 |
массив указателей на структуры. С++. Перегрузка <<.Всю проблему не описать XD. | Познающий | Помощь студентам | 8 | 06.02.2010 00:55 |
массив указателей в С ++ | серг | Помощь студентам | 1 | 14.12.2009 18:49 |
Массив указателей на структуры | SNAKE89 | Общие вопросы C/C++ | 4 | 27.12.2007 10:14 |