Показано с 1 по 3 из 3

Тема: работа с указателями

  1. #1

    По умолчанию работа с указателями

    если кто использовал указатели, подскажите, как увеличить указатель на какую то переменную величину?

    например
    ptr: POINTER TO WORD;
    i: INT;

    ptr := ptr + 2; (* работает нормально *)
    ptr := ptr + i; (* не катит - говорит что не может сконвертить INT to POINTER *)
    как же передвигать указатель, циклом что ли?

  2. #2

    По умолчанию

    Все работает просто прибавлять надо не INT а DWORD. Например так:

    VAR
    df : ARRAY[0..3] OF WORD;
    pDF: POINTER TO WORD;
    dwIndex: DWORD:=1;
    END_VAR

    pDF := ADR(df[0]);
    pDF := pDF + dwIndex;

    И все.

  3. #3

    По умолчанию

    спасибо, заработало

Ваши права

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