Dodaj do ulubionych

Pascal i C

IP: *.internetdsl.tpnet.pl 28.03.04, 01:02
Witam!
Mam takie drobny problemik bo nigdy nie uzywalem Pascala wiec dokladnie nie
znam skladni (podstawy sa oczywiste), ale do rzeczy: Czy funkcja w pascalu

function xxx(var yyy:boolean): boolean;
begin
xxx:=yyy;
yyy:=true;
end;

to to samo co w C:

typedef enum {true=1,false=0}boolean;
boolean xxx(boolean *yyy) {
boolean tmp = *yyy;
*yyy = true;
return *tmp;
}
???

Z gory dziekuje
Obserwuj wątek
    • bwv1004 Re: Pascal i C 28.03.04, 11:42
      Nie znam C (tylko podstawy :) ). Zapytaj na forum.4programmers.net
    • pollak Re: Pascal i C 28.03.04, 11:50
      Gość portalu: eKG napisał(a):

      > function xxx(var yyy:boolean): boolean;
      > begin
      > xxx:=yyy;
      > yyy:=true;
      > end;

      Chyba tak. Nie znam się na Pascalu, ale o ile pamiętam, to przy definicji
      funkcji, jeśli przekazywane parametry poprzedzimy słowem 'var' to nie będą
      tworzone kopie argumentów, tylko działał będziesz na tych zmiennych które
      przekazałeś jako parametr. Pewnie przekazywany jest adres tych zmiennych.
      W C trzeba jawnie posłużyć się wskaźnikiem, w C++ można referencją. Bez 'var'
      przekażesz normalnie przez wartość (podobnie jak w C).
    • Gość: flm Re: Pascal i C IP: *.promax.media.pl 28.03.04, 13:11
      > return *tmp;
      To jest chyba błąd składni (próbujesz użyć * na zmiennej nie-wskaźnikowej).
      • pollak Re: Pascal i C 28.03.04, 13:20
        Rzeczywiście, heh :)
      • Gość: Blekota Re: Pascal i C IP: *.neoplus.adsl.tpnet.pl 29.03.04, 10:18
        Po mojemu, pomijając ten błąd, funkcje robią to samo. Oczywiście biorąc pod uwagę to, że inaczej się je wywołuje. No, ale w końcu chodzi o różne języki.
        • Gość: eKG Re: Pascal i C IP: *.internetdsl.tpnet.pl 29.03.04, 10:20
          Heh tez to zauwazylem ale juz po wyslaniu:) Jak widac kompilatorem nie jestem;)
          Dzieki!
Inne wątki na temat:

Nie masz jeszcze konta? Zarejestruj się


Nakarm Pajacyka