Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 35

Тема: Проверка на Null указателей

  1. #1
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию Проверка на Null указателей

    Добрый день.

    Как в CDS осуществить проверку указателя на Null?

  2. #2
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Проверяйте равенство указателя с нулем.

  3. #3
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от SKV Посмотреть сообщение
    Добрый день.

    Как в CDS осуществить проверку указателя на Null?
    в КДС не может быть типа данных null, поэтому и проверка не нужна
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  4. #4
    Пользователь
    Регистрация
    10.11.2014
    Адрес
    Санкт-Петербург
    Сообщений
    980

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Проверяйте равенство указателя с нулем.
    Спасибо. Так и делал. Но хотел убедиться.

  5. #5
    Пользователь
    Регистрация
    19.11.2011
    Адрес
    г. Белгород
    Сообщений
    357

    По умолчанию

    Вообще-то я так никогда не делаю, не знаю где это может понадобиться.

  6. #6
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,290

    По умолчанию

    Цитата Сообщение от amn Посмотреть сообщение
    Вообще-то я так никогда не делаю, не знаю где это может понадобиться.
    Например маркер конца списка.
    По теме, имхо, красивше константа (null,nil...) dword/dint и сравнение с ней

  7. #7
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Например маркер конца списка.
    По теме, имхо, красивше константа (null,nil...) dword/dint и сравнение с ней
    пример будет? Что такое список? если указатель ушел дальше объекта, почему там должен быть какой то null. Еще допускаю если речь бы шла в частном случае о NaN
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,290

    По умолчанию

    plist ->(pnext->)->(pnext->)->(pnext=nil)
    простейший односвязный список из 3х объектов.

    PS
    Прогон неких фб из списка
    Код:
    pcurrent := plist;
    while pcurrent <> nil do
      pcurrent^(pnext => pcurrent);
    end_while
    обмен/архивация/события/...
    Последний раз редактировалось Валенок; 22.08.2015 в 11:50.

  9. #9
    Пользователь Аватар для capzap
    Регистрация
    25.02.2011
    Адрес
    Киров
    Сообщений
    10,246

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    plist ->(pnext->)->(pnext->)->(pnext=nil)
    простейший односвязный список из 3х объектов.

    PS
    Прогон неких фб из списка
    Код:
    pcurrent := plist;
    while pcurrent <> nil do
      pcurrent^(pnext => pcurrent);
    end_while
    обмен/архивация/события/...
    это всёравно теория, проект выложите, чтоб наглядно убедиться что я увижу null, причем не искусственно сделаный, а случайно появляющийся иначе зачем тогда проверка на null
    Bad programmers worry about the code. Good programmers worry about data structures and their relationships

    среди успешных людей я не встречала нытиков
    Барбара Коркоран

  10. #10
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,290

    По умолчанию

    В данном случае - искусственный т.к. является принудительно устанавливаемым при инициализации объекта в выделенном куске памяти.
    Но вот при выделении самого участка памяти для объекта (из кучи) - может вернутся и случайный что будет является всего лишь признаком невозможности расширении списка а не перезагрузки ПЛК.

    Любой проект является как бы (С) а возможные области применения я показал. Именно там я их и применяю.

    Например архивация.
    Объекты генерят события в динамический список.
    При ненаступлении некоторых критических событий часть событий самоуничтожается (чтоб не плодить избыточную инфу)
    Архиватор формирует из нужных событий буфер
    Буфер при превышении 512 байт сливает окно (512 байт) в архив флеша
    Рез-т : Имеем архив важных событий с подробной ситуацией перед наступлением аварий.

Страница 1 из 4 123 ... ПоследняяПоследняя

Похожие темы

  1. применение указателей
    от Дмитрий Артюховский в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 09.02.2016, 18:07
  2. Использование указателей Pointer
    от Андрей Плеханов в разделе ПЛК3хх
    Ответов: 23
    Последнее сообщение: 24.07.2014, 21:58
  3. Ответов: 3
    Последнее сообщение: 10.04.2013, 19:48
  4. проверка на качество показаний
    от evgnik в разделе ПЛК1хх
    Ответов: 22
    Последнее сообщение: 14.11.2011, 09:05
  5. Получение списка/указателей на ФБ проекта
    от Аркадий в разделе ПЛК1хх
    Ответов: 9
    Последнее сообщение: 05.03.2008, 18:22

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •