Здравствуйте, Caesar!
О делах С-шных Вам расскажут коллеги, я о Delphi.
Delphi унаследовал от Pascal - строгую типизацию, в отличии от С. Но и такая строгость обходится, т.к. есть механизмы.
См. приложение:
[code lang=pascal h=200]program Project1;
{$APPTYPE CONSOLE}
uses
SysUtils;
var
a:^char;{указатель на тип char}
b:^byte;{указатель на тип byte}
c:pointer;{указатель без типа}
d:char;{сама переменная}
begin
{ TODO -oUser -cConsole Main : Insert code here }
d:='1';
writeln('is one:',d);
{работа с указателями}
c:=@d;{получаем адрес переменной}
a:=c;{соотносим с нужным типом}
b:=c;
b^:=b^+5;
writeln('is two:',d,' char:',a^,' byte:',b^);
{работа со стандартными функциями}
d:=chr(ord(d)-4);
writeln('is end:',d);
readln;
end.[/code]
Немного об указателях:
а - указатель ссылающийся на переменную длиной один байт, тип символьный;
b - указатель ссылающийся на переменную длиной один байт, тип целый;
с - указатель ссылающийся на некоторый адрес.
Сама переменная представляет собой адрес в памяти и её длина. Компилятор проанализировав тип переменной подставляет соответствующие методы для работы с ними. Это видно в коде.
Удачи!
Об авторе:
Мне безразлично, что Вы думаете о обо мне, но я рад за Вас - Вы начали думать.