Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 06.03.2012, 09:20   #1
Silly Student
Пользователь
 
Регистрация: 28.03.2011
Сообщений: 32
По умолчанию Разобраться с односвязным списком структур

Приветствую !

Есть у меня шарик, и шарик летает по форме. Как бы мне сделать так, что бы этих шариков было несколько ? Шарик у меня описывает структура, вот такая

Код:
struct _MoveBallParams {
    int xPosition;
    int yPosition;
    int xMove;
    int yMove;
    int id;
};
А потом делаю так
Код:
typedef struct _MoveBallParams MoveBallParams;
А потом инициализирую ее так
Код:
static MoveBallParams temp = {100, 100, 2, 2};

Есть мысль сделать это через массив структур, или односвязаный список структур, как будет проще ? Последние сутки пытаюсь с односвязным списком разобраться, везде либо слишком маленькие примеры, либо какие то страшные монструозные ужасы.
Silly Student вне форума Ответить с цитированием
Старый 06.03.2012, 22:54   #2
ACE Valery
Сама себе режиссер
Старожил
 
Аватар для ACE Valery
 
Регистрация: 27.04.2007
Сообщений: 3,365
По умолчанию

ricco777, не лезьте в чужую тему - создавайте свою
И, когда создадите свою, пользуйтесь тегом [code] или знаком # на панели ввода сообщения для выделения кода
Если я вас напрягаю или раздражаю, вы всегда можете забиться в угол и поплакать
ACE Valery вне форума Ответить с цитированием
Старый 06.03.2012, 23:24   #3
mrNobody
 
Аватар для mrNobody
 
Регистрация: 24.07.2011
Сообщений: 5
По умолчанию

Привет!

Вообще, односвязный список - это достаточно просто, если ты понимаешь что делаешь. Но я не вижу смысла использовать здесь связный список.

Наверное с массивами будет по проще. Если ты не планируешь изменять количество шариков на форме в процессе выполнения программы, а заранее знаешь, сколько ты их хочешь увидеть, то всё становится до смешного просто: прямо в коде указываешь длину своего массива и инициализируешь его элементы:

Код:
MoveBallParams ballsArr[3];
ballsArr[0] = {...}
...
В этом случае тебе не придётся думать о выделении памяти и её освобождении.

Если количество шариков будет изменятся во время работы программы, то появляются некоторые сложности: тебе придётся выделять память динамически, отслеживать текущую длину массива (с помощью дополнительной целочисленной переменной) и потом заботиться об освобождении выделенной памяти, когда она тебе не нужна.
"Восемнадцать лет, пять месяцев и утро ещё одного дня прожила на свете Люба Шевцова."
mrNobody вне форума Ответить с цитированием
Старый 07.03.2012, 07:55   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,543
По умолчанию

Цитата:
монструозные ужасы.
Во-первых Вы пытаетесь присвоить структуре, значения, как их принято присваивать массивам. Это, в корне не верно.
Структура, в памяти, не создаётся автомтически (в оличии от массива), её нужно создать, например - mystruct XX = new mysrtruct().
В этом случае выделится необходимый участок памяти, с которым уже, можно работать.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 07.03.2012, 14:36   #5
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Цитата:
Сообщение от Smitt&Wesson
Структура, в памяти, не создаётся автомтически
Шутить изволите?) Создается без проблем, даже пруф даю.
Код:
mystruct XX = new mysrtruct()
тут ведь даже несоответствие типов - слева структура, справа - указатель на нее.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Операции над многочленами, заданными списком свомх коэффициентовОперации над многочленами, заданными списком свомх коэффициентов lelicki_bolicki Общие вопросы по Java, Java SE, Kotlin 1 06.12.2011 22:07
поле со списком Czun Microsoft Office Word 9 15.11.2011 05:45
поле со списком new_here Microsoft Office Access 2 03.10.2010 19:08
Поле со списком d_adilet Microsoft Office Access 5 08.02.2010 07:37