|
Не корректная работа цикла в CodeVision |
|
|
|
Sep 11 2011, 14:14
|
Профессионал
    
Группа: Свой
Сообщений: 1 613
Регистрация: 2-09-08
Из: г.Набережные Челны
Пользователь №: 39 936

|
Здравствуйте все. Столкнулся с таким косяком. Проверка структуры в WHILE и FOR не работает. Вот например: Код while(program[i].indkey != STOP) { program[i]= ee_prog[i]; i++; } нет проверки, цикл уходит в бесконечность. Проверяю в AVR studio. А так: Код while(st != STOP) { program[i]= ee_prog[i]; st = program[i].indkey; i++; } работает. Пробывал в разных версиях. В цикле FOR такой же косяк. Или я, что то не понимаю?
|
|
|
|
|
 |
Ответов
|
Sep 11 2011, 17:45
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(Iptash @ Sep 11 2011, 20:41)  Структуру. Значит вам надо внимательнее читать книжки по Си.
|
|
|
|
|
Sep 11 2011, 18:05
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(Палыч @ Sep 11 2011, 21:01)  В языке Си структуры копируются оператором присваивания. И давно так ?  Тогда, наверное, мне пора за книжки.  Я думал, что имя структуры - это указатель и данное действие не что иное, как копирование указателя. Такие фокусы (копирование структур присваиванием) возможны только в Си++.
Сообщение отредактировал Юрий_СВ - Sep 12 2011, 01:22
|
|
|
|
|
Sep 11 2011, 18:29
|
Участник

Группа: Участник
Сообщений: 73
Регистрация: 4-05-08
Пользователь №: 37 272

|
Цитата(Палыч @ Sep 11 2011, 21:22)  С тех пор, как K&R придумали язык Си. Цитата Керниган, Ричи. Язык C
6.2 . Структуры и функции ... В языке "C" существует ряд ограничений на использование структур. Обязательные правила заключаются в том, что единс- твенные операции, которые вы можете проводить со структура- ми, состоят в определении ее адреса с помощью операции & и доступе к одному из ее членов. Это влечет за собой то, что структуры нельзя присваивать или копировать как целое, и что они не могут быть переданы функциям или возвращены ими. http://www.lucky.net/docs/kernigan.htmlhttp://ahdl-altera.narod.ru/ru/richi_c.pdf
Сообщение отредактировал Юрий_СВ - Sep 11 2011, 18:50
|
|
|
|
Сообщений в этой теме
Iptash Не корректная работа цикла в CodeVision Sep 11 2011, 14:14 Палыч В Ваших примерах проверка производится для разных ... Sep 11 2011, 14:40 Iptash Да, действительно, спасибо. Sep 11 2011, 15:10 Юрий_СВ А как ЭТО понимать ?
Цитата(Iptash @ Sep 11 ... Sep 11 2011, 16:40 Iptash Цитата(Юрий_СВ @ Sep 11 2011, 20:40) А ка... Sep 11 2011, 16:46  Юрий_СВ Цитата(Iptash @ Sep 11 2011, 19:46) Нет, ... Sep 11 2011, 17:38 Iptash Да нет, это копирование структуры одного типа, а н... Sep 11 2011, 18:11 Idle http://en.wikipedia.org/w/index.php?title=...e%29#... Sep 11 2011, 18:27 Iptash Да нет,
Цитата6.2 Структуры и функции
Единственно ... Sep 11 2011, 18:40 ReAl Ну в ANSI C (C89, 1989 год) это уже было. Соответс... Sep 11 2011, 18:49 Юрий_СВ Цитата(ReAl @ Sep 11 2011, 21:49) Ну в AN... Sep 11 2011, 19:36
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|