es gibt ne progrmmiersprache namens NQC (not quite c).
diese wird zur ansteuerung von diesen lego robotics robotern benuzt.
und da gibt es "void"-funktionen, void funktionen funktionieren intern per copy&paste (der lego robotics kann naemlich nur eine bestimmte anzahl von funktionen speichern, deswegen lagert man kurze code stuecke in diesen voids aus)
nun hab ich in einer informatik klausur geschrieben, dass voids genau wie #DEFINEs macros sind.
das wurde mir aber als fehler mit diesen von uns allen bekannten, untoleranten, fortschritssvernichtenden, besserviserischen roten stifft weggestrichen
zu recht?
Edit (birkenfeld): Not-Quite-Apostrophe entfernt.
sind NQCs "void"s macros?
- gerold
- Python-Forum Veteran
- Beiträge: 5555
- Registriert: Samstag 28. Februar 2004, 22:04
- Wohnort: Oberhofen im Inntal (Tirol)
- Kontaktdaten:
Hallo Costi!Costi hat geschrieben:und da gibt es "void"-funktionen
"void" bedeutet nur, dass von der Funktion kein Wert zurück kommt. Die Funktion verhält sich somit (ähnlich) wie eine Prozedur.
http://de.wikipedia.org/wiki/Void#Informatik
mfg
Gerold

http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
War die Klausur denn überhaupt über NQC? *Genau* wie Makros in C sind die nicht. Eher wie ``inline`` Funktionen in C++.
ich weiss, das void hat aber in NQC nichts mit rueckgabewerten zu tun."void" bedeutet nur, dass von der Funktion kein Wert zurück kommt. Die Funktion verhält sich somit (ähnlich) wie eine Prozedur.
der name ist nur etwas werwirrend, "def" oder "proc" waere eindeutiger
jaja, die war ueber NQCWar die Klausur denn überhaupt über NQC? *Genau* wie Makros in C sind die nicht. Eher wie ``inline`` Funktionen in C++.
und stimmt!, jetzt hab ichs wieder, voids sind keine makros sondern inline funktioenen, aber wo liegt da der unterschied zu DEFINEs, etwa das DEFINE parametisierbar ist?
cp != mv
NQC ist stark an C angelehnt und das ``void`` an der Stelle wo es in beiden Sprachen steht, hat in C die Bedeutung das es keinen Rückgabewert gibt. Das trifft ja auch auf NQC zu.
Makros sind im groben nur textuelle Ersetzungen. Die müssen für sich genommen noch nicht einmal syntaktisch korrektes C sein. Funktionen bilden einen Gültigkeitsbereich für lokale Variablen und die Argumente. Die Argumente von Funktionsdefinitionen werden zur Laufzeit übergeben, die von Makros werden bei der Übersetzung eingesetzt. Denke das sind so die wichtigsten Unterschiede.
Makros sind im groben nur textuelle Ersetzungen. Die müssen für sich genommen noch nicht einmal syntaktisch korrektes C sein. Funktionen bilden einen Gültigkeitsbereich für lokale Variablen und die Argumente. Die Argumente von Funktionsdefinitionen werden zur Laufzeit übergeben, die von Makros werden bei der Übersetzung eingesetzt. Denke das sind so die wichtigsten Unterschiede.