У меня вопрос захотел я переменные записать в структуру.Возникли проблемы при записи.В структуре нельзя писать = 0 .А как записывать если нужно выставить в ноль или др. число .И ещё одно .Я объявил переменную меню в структуре.При нажатии кнопки выставляю флаг и при отжатии её добавляю ++.Если пишу в структуре то не работает.А если пишу переменную до майна то работает.Да кнопку прописываю в прерывании по таймеру.В обработчике прерываннии по таймеру.Как прописать правильно чтоб работало?
Вот так безграмотно и пишу.Я не программист.Но люди которые занимаются программированием советуют писать все переменные в структурах.Как прописывать что бы работало?.Этот майн с AVR. В STM32 такая же беда.
Не, так не получится! Чтобы научиться программированию, сначала надо хоть один естественный язык выучить. Можно начать с родного. Но без знания языков точно ничего не получится.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
Но люди которые занимаются программированием советуют писать все переменные в структурах.
Маловероятно, что они именно так советовали. В приведенном Вами коде нет необходимости применять структуру, она ничего не даёт. Структура - это некий тип переменной, а не сама переменная. Объявили структуру, затем объявили переменную, тип которой - эта структура (иногда эти процессы объединены в один).
Но люди которые занимаются программированием советуют писать все переменные в структурах.
Маловероятно, что они именно так советовали. В приведенном Вами коде нет необходимости применять структуру, она ничего не даёт. Структура - это некий тип переменной, а не сама переменная. Объявили структуру, затем объявили переменную, тип которой - эта структура (иногда эти процессы объединены в один).
Так структура- тип переменой .А тогда вложенные допустим int a int b int c- что это?.А есть пример на контроллерах на СИ.STM32 .AVR?
Добавлено after 6 minutes 22 seconds: А почему не работает программа .Вот где я накопал https://narodstream.ru/c-urok-25-struktury/.Где сказано. Структура в языке C — это сгруппированные (ая) под одним именем одна или несколько переменных (возможно, различных типов). В качестве этих переменных могут быть также массивы данных, указатели на различные типы данных, также переменные других типов структур и т.д.
Добавлено after 9 minutes 12 seconds: И как правильно сделать что бы работало?
Добавлено after 5 hours 46 minutes 17 seconds: с указателем на тип переменных не работает а без указателя работает?
Вложенные в структуру int a и т.д. можно назвать её полями. Никто не обещал, что понятие типа обязано быть элементарным, тип int тоже можно назвать структурой, например структурой из 4 байт, или двух слов, или 8 бит и строить дальнейший алгоритм рассматривая его именно так. Можно понимать и как сгруппированные переменные, хотя как тип значительно удобнее, так как группа - это всего лишь слово, поясняющее, что куча переменных собрана во что-то одно. А вот если считать это типом, то сразу становится понятно, как дальше работать, ведь операции с типом - это всё-таки не операции с какой-то группой. Хотя, конечно, это может быть субъективно, и кому-то группа более понятна. То есть, если описана некая структура, например, mystruct, то можно объявит переменную а типа mystruct, передать её в функцию и получить как результат функции и т.д. То есть, вместо передачи кучи полей (отдельных переменных) можно передать одну. Это очень удобно.
Указатели работают так же, как и в других случаях, с другими типами переменных, вопрос про них я не понял.
А почитать К&Р - не судьба? Точка - доступ к компоненту структуры, стрелочка - по указателю на структуру.
_________________ Linux rules! Windows must die. Здравомыслящий человек добровольно будет пользоваться мастдаем лишь в двух случаях: под дулом автомата или под влиянием анального зонда. Я на гитхабе, в ЖЖ
А почитать К&Р - не судьба? Точка - доступ к компоненту структуры, стрелочка - по указателю на структуру.
Я чего то считал что стрелочка что стрелочка тоже делает доступ к компонентам структыры но через указатель .Если неправильно то как правильно?В гитабе много файлов а где который мне нужно как называется?
Учебник нужен но про указатели на элементы структуры там нет этой инфы.STM32 AVR компилятор подерживает C .Не все команды C++ подойдут для контроллеров.
}*nastroyki; а вот так не работает. if(nastroyki->menu_btn==0) { } почему так не работает?
Вы пробовали проговорить человеческим языком (русским, украинским - не важно) то, что написали? Вы создали переменную типа указатель на структуру. Дальше начали сразу работать с ней. Т.е. пытаетесь получить доступ к члену (полю) структуры по указателю на структуру. А чему у вас равен указатель на структуру? На что он указывает? Где вы создали объект структуры в памяти? Где вы устанавливаете на него ваш указатель? Как вы собираетесь работать с переменной структурного типа не создав её и не установив на неё ваш указатель?
Вы правильно всё поняли.Только в моём случае .Я не могу создавать программу таким образом.Так как указатель на элементы структуры Не работают элементы так как я думал.Переменная занимает одну ячейку памяти.По простому сказать.Можно просто структуру создать.Тогда переменные можно произвести увилечение и уменьшение i++;i--;Эту операцию нелзя выполнить когда стоит указатель на структуру.Наверное можно .Но нужно выполнить больше операций.Точно не могу сказать.Просто в практике не сталкивался.
Сейчас этот форум просматривают: shalfey и гости: 19
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения