|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
Проверка существования структуры17.12.2011, 21:32. Показов 12792. Ответов 46
Метки нет (Все метки)
Гугл ничего не дал так, что думаю будет многим полезно.
Язык си, как проверить существует ли структура по данному адресу (была ли она задана)? В других языках есть try/catche на си вроде нет, только на си++.
0
|
|
| 17.12.2011, 21:32 | |
|
Ответы с готовыми решениями:
46
Проверка существования файла Проверка существования файла Проверка существования логина |
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 22:39 [ТС] | |
|
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|||
| 17.12.2011, 22:40 | |||
![]() соберите последнюю версию mingw. Там должно быть точно так же как и под юникс. Я был приятно удивлен когда поставил последнюю версию gcc и по случаю замечал что память с нулями, потом проверил - да так. Вы просто немного не так понимаете задачу, ну или подход к решению.
0
|
|||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 22:42 [ТС] | |
|
Ну первый подход - чтобы работало, потом оптимизация и изменения - сдать надо через сутки
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 22:45 | ||
|
вот это кстати сомнительно. Получается что поле структуры не может содержать данные в виде нуля. Ограничение.
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 22:54 | ||
|
0
|
||
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
|
| 17.12.2011, 23:07 | |
|
Надо ему вот и говорю что и как. Между прочим с оговоркой. Полагаться на особенности компилятора это очень сомнительная мысль. Ладно, вода, проехали.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:12 [ТС] | |
|
Ладно сдаюсь - ничего не получается, как ни крути, а не знаю как сделать функцию, которая не затрет дерево при следующем вызове.
Добавлено через 1 минуту в задании в функцию передается только адрес корня и все, менять устройство структуры нельзя, как сделать это дерево?
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||
| 17.12.2011, 23:18 | ||
|
0
|
||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:29 [ТС] | |
|
Разве ошибочным будет утверждение, что для добавления ветки к дереву необходимо чтобы корень в массиве указателей на эти ветки имел везде NULL на первом проходе?
Добавлено через 1 минуту Иначе как в дальнейшем определять существует ветка или нет, потому что мусор будет расцениваться как существующая ветка. Добавлено через 12 секунд А при проверке вызывать ошибку.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
|
| 17.12.2011, 23:55 [ТС] | |
|
на картинке есть узел 021 допустим он получился когда я первый раз вызвал функцию setDecoration, корень был пуст, были созданы узлы 0,02,021 теперь я хочу в это дерево записать узел в 012 функция при выделении памяти для узла 0 затрет значение адреса для узла 021, если этого не делать то к узлу 0211 доступа не будет так как память под конечную структуру никто не выделял и при попытке туда обратится будет access violation. Ничего кроме как проверки на существование узла я не могу придумать.
Подскажите пожалуйста, я не так задачу понял или что то упускаю?
0
|
|
|
1599 / 622 / 113
Регистрация: 15.07.2011
Сообщений: 3,548
|
||||||||
| 18.12.2011, 00:21 | ||||||||
вот косой пример двоичного дерева. функция вставки Добавлено через 11 минут обход дерева надо переделать, так же кинуть исключение. Думаю что суть вы уловили.
0
|
||||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
||||||
| 18.12.2011, 00:45 | ||||||
|
awpe, Вы не совсем понимаете как строятся деревья. На википедии есть неплохие статьи по двоичным деревьям. Вот пример дерева поиска с функцией вставки и обхода, реализованных посредством рекурсии:
1
|
||||||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:03 [ТС] | ||||||
|
вроде так должно работать согласно заданию
не понимаю в чем ошибка, если убрать работу со строками то ошибок нет, если убрать создание структур то тоже ошибок нет, вместе они не работают... Добавлено через 19 секунд Я про функцию setDecoration Добавлено через 30 минут ага понял, нельзя так присваивать значение для path[n], ладно буду передавать str, но там снова ошибка, программа вылетает причем каждый раз на новом месте... Добавлено через 45 секунд Заметил что место вылета зависит от того где стоят контрольные printf... В чем может быть проблема? Сейчас вылетает на str=(char *) malloc(q*sizeof(char*)); Добавлено через 9 минут Пожалуйста скажите где ошибка?
0
|
||||||
|
2348 / 1721 / 149
Регистрация: 06.03.2009
Сообщений: 3,675
|
|
| 18.12.2011, 13:21 | |
|
awpe, пройдитесь с дебаггером по программе и все станет ясно. Не поможет - дайте задание, лучше переписать с нуля, чем пытатся разобратся.
0
|
|
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:35 [ТС] | ||||||
|
задание
новый код
Добавлено через 50 секунд Решил проблему со строками, теперь при вызове tmp=(TNODE *) malloc(sizeof(TNODE *)); программа рушится, дебаггер в dev c++ какой -то странный, нет времени разбираться.
0
|
||||||
|
237 / 210 / 29
Регистрация: 08.06.2011
Сообщений: 467
|
|||||||
| 18.12.2011, 13:43 | |||||||
0
|
|||||||
|
2 / 2 / 1
Регистрация: 23.11.2011
Сообщений: 87
|
||||||
| 18.12.2011, 13:55 [ТС] | ||||||
аналогично здесь - int CreateTree( TNODE ** root, char * str, int decor ): TNODE *tmp; создаст указатель на объект типа TNODE потом (TNODE *) malloc(sizeof(TNODE *)) вернет указатель на область памяти для объекта типа TNODE этот указатель я приравниваю к tmp: "tmp=(TNODE *) malloc(sizeof(TNODE *));" Я где то запутался в указателях? Добавлено через 34 секунды Как правильно тогда?
0
|
||||||
| 18.12.2011, 13:55 | |
|
Проверка на существования файла Проверка условия существования треугольника Проверка существования файла с использованием ifstream() Проверка существования трехугольника с заданными сторонами, и определение его типа Проверка на существования ID Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Где деньги лежат
kumehtar 02.07.2026
Это - японская подводная лодка I-52 (тип C2, кодовое имя Momi) вышла из Японии в марте 1944 года с миссией в оккупированную немцами Францию (Лорьян). Это была одна из «Янаги»-миссий по обмену. . .
|
Krabik для WoW 3.3.5a, многоязычный
AmbA 02.07.2026
Допилил бота, думаю что окончательно. Изменения:
- добавлена многоязычность
- добавлено снятие скриншотов
- добавлено поддержание бафов хождения по воде (для жреца, дк и шамана)
- и так, по. . .
|
Алиса нашла кучу ошибок компиляции и запуска в проекте, который без проблем компилировался и запускался)))
anaschu 30.06.2026
Я пока посмеюся, но завтра проверю. А вообще интерсно. Дал алисе файл, в котором точно нет ошибок компиляции и запуска, и попросил их найти. Нашла кучу)))
Критические ошибки, мешающие компиляции и. . .
|
сукцессия 16. Общий обзор, в основном что бы другие ии поняли
anaschu 29.06.2026
# Передаточный документ: модель микоризной сукцессии (для нового чата)
Этот документ предназначен для того, чтобы новый чат Claude мог продолжить
работу без необходимости заново разбираться в. . .
|
|
сукцессия 15 неявная схема
anaschu 29.06.2026
Алиса
Калибровка параметров симбиотической модели: технический обзор
Содержание:
Введение
Постановка проблемы
Технические аспекты реализации
Процесс внедрения изменений
|
сукцессия 14. Обновленная схема модели
anaschu 28.06.2026
ГЛОБАЛЬНАЯ ОПИСАТЕЛЬНАЯ СПЕЦИФИКАЦИЯ ЭКОСИСТЕМНОЙ МОДЕЛИ «SOIL CHEMISTRY & MYCORRHIZA 2. 0»
https:/ / ibb. co/ NnkGpfMd
Представленная интегрированная схема описывает непрерывную нелинейную. . .
|
сукцессия 13. Питон модель трехзонного мицелия, пока что в основном арбускулярного
anaschu 28.06.2026
## Разработка агентной модели микоризной сукцессии: от выявления артефактов к созданию комплексной системы
### Аннотация
Представлено исследование по разработке агентной модели микоризной. . .
|
сукцессия 12. краткий список проверок модели перед запуском.
anaschu 27.06.2026
Скрытые отказы в моделях систем динамики (SD-models) экологических систем: два случая из практики
Контекст
Разбирался прототип модели систем динамики (SD-модели) микоризной сукцессии: пять. . .
|