Страница 3 из 3 ПерваяПервая 123
Показано с 21 по 23 из 23

Тема: Указатели (POINTER)

  1. #21
    Пользователь
    Регистрация
    13.10.2011
    Адрес
    Златоуст
    Сообщений
    1,021

    По умолчанию

    без объявления указателей ?
    Типизатору (часть компилятора, которая вычисляет типы в узлах дерева выражений) не важно, объявленную вы переменную подставляете в качестве аргумента или просто вызов функции. Я своим примером проиллюстрировал, что SysMemCpy, имея сигнатуру [DWORD, DWORD, DWORD] спокойно принимает параметры [POINTER TO ..., POINTER TO ..., DWORD]. Соответственно нормальный оператор взятия указателя не помешал бы ничего никуда пихать.
    А много где можно именно преобразовать?
    В Си тип float может неявно преобразовываться в тип int (дробная часть отбрасывается). Вот в C#, например, уже не может — придётся написать intVar = (int) floatVar, а intVar = floatVar — нельзя.
    не преобразование, а другая точка зрения
    Это преобразование в контексте системы типов. Если, например, функция требует аргумент типа A, а вы ей даёте другой тип B, то компилятор проверяет совместимость типов в частности через заложенные в него операции неявного приведения/преобразования. Если неявное приведение A -> B возможно, то аргумент принимается как есть прозрачно для программиста. Иначе программист приводит тип явно (функции типа REAL_TO_DWORD).
    Последний раз редактировалось Yegor; 31.05.2015 в 14:27.

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

    По умолчанию

    SysMemCpy, имея сигнатуру [DWORD, DWORD, DWORD] спокойно принимает параметры [POINTER TO ..., POINTER TO ..., DWORD].
    Да. Но первые два указаны как адреса в описании. Был бы адрес из 16 бит - были бы WORD.
    Уже ж говорили что просто "pointer" - нету (Не хотели/Прое..ли/Проиграли на спор/Отвалилась кнопа P/Не выговаривали букву R/Не оказалось германо-аглицкого словаря/В память дедушке которого сбили над Каналом/Мания величия - а тут УКАЗАТЕЛЬ ... нужное подчеркнуть)
    А что общее у адресов данного проца ? Размер 4 байта
    А кто еще имеет размер 4 байт ? DWORD/DINT/UINT/REAL
    А кто из них даже не число ? DWORD
    DWORD похож на UINT ? так получилось.
    Можно делать матоперации ? Можно. Ведь для взятия байта со смещением 4 от текущего адреса нужно к текущему адресу прибавить 4 !! Кто бы мог подумать ...

    типа того

    В Си,.. Вот в C#,
    Всегда казалось что тут дед - Н.Вирт )) Со всеми вытекающими.

    функции типа REAL_TO_DWORD
    Именно эта функция - преобразование самого содержимого. А иногда нужен просто битовый формат хранения.

  3. #23
    Пользователь
    Регистрация
    28.08.2008
    Адрес
    23..93..123
    Сообщений
    1,674

    По умолчанию

    Очень было-бы интересно понаблюдать за разговором этих товарищей (Да со всем уважением) за ...столом с шашлыком и водочкой , не смотря на разделяющее их пространство ... хотя может и хорошо , когда два таких мозга разделены ... некоторым пространством...

Страница 3 из 3 ПерваяПервая 123

Похожие темы

  1. Использование указателей Pointer
    от Андрей Плеханов в разделе ПЛК3хх
    Ответов: 23
    Последнее сообщение: 24.07.2014, 21:58
  2. Ответов: 23
    Последнее сообщение: 22.12.2010, 23:36
  3. POINTER TO what?
    от drvlas в разделе ПЛК (среда CoDeSys V2.3)
    Ответов: 34
    Последнее сообщение: 04.12.2010, 23:46

Ваши права

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