www.wikidata.de-de.nina.az
Das Schlusselwort void englisch fur nichtig ungultig leer wird in einigen Programmiersprachen anstelle eines Datentyps benutzt um anzugeben dass keine Daten ubergeben werden oder der Typ der Daten nicht angegeben ist Syntaktisch wird void wie ein Datentyp behandelt aber es kann nur an bestimmten Stellen stehen So ist es zum Beispiel nicht moglich eine Variable vom Typ void zu deklarieren Inhaltsverzeichnis 1 void als Ruckgabetyp 2 void in C und C 2 1 Untypisierte Zeiger 2 2 Funktionsargumente 2 3 Funktions Ruckgabe 3 Einzelnachweisevoid als Ruckgabetyp BearbeitenIn den Programmiersprachen C C D Java und C wird void fur Funktionen bzw Methoden ohne Ruckgabewert sog Prozeduren benutzt In diesen Sprachen muss syntaktisch fur jede Funktion bzw Methode ein Ruckgabetyp angegeben werden Wenn kein Wert zuruckgegeben wird steht stattdessen void Das folgende Beispiel definiert eine Methode ohne Ruckgabewert in Java void hallo System out println Hallo Welt void in C und C BearbeitenIn C und C ist void syntaktisch und semantisch ein Basisdatentyp Es ist der sogenannte leere Datentyp englisch empty type und ein incomplete type Letzteres sorgt dafur dass man keine Objekte vom Typ void anlegen kann void wird in diesen Sprachen ausser als Platzhaltertyp fur Funktionen ohne Ruckgabewert s o fur drei weitere Aufgaben genutzt Untypisierte Zeiger Bearbeiten Mit void wird ein Zeiger deklariert ohne den Typ der Daten anzugeben auf die der Zeiger verweist untypisierter Zeiger pointer to void Ein untypisierter Zeiger kann nicht dereferenziert oder fur Zeigerarithmetik benutzt werden sondern muss zuerst per Typumwandlung in einen typisierten Zeiger umgewandelt werden Jeder Datenzeiger kann in ein Void Zeiger umgewandelt werden Bei der Ruckumwandlung in den ursprunglichen Datentyp fordert der Sprachstandard dass der gleiche Wert erhalten wird Eine Umwandlung des Void Zeigers in einen anderen als den ursprunglichen Datentyp ist nur fur char Zeiger erlaubt andernfalls ist das Programm ungultig undefined behavior wobei der Compiler dies im Allgemeinen nicht erkennen kann Beispiel include lt stdio h gt int main int a 10 void ptr ptr amp a Zeiger zeigt nun auf die Adresse der Ganzzahlvariable a printf Wert auf den der Zeiger zeigt d int ptr Ausgabe 10 return 0 Funktionsargumente Bearbeiten Funktionen ohne Argumente sollten in C mit dem Schlusselwort void anstelle einer leeren Argumentliste deklariert werden wie in folgendem Beispiel void hallo void printf Hallo Welt n Dieser Sonderfall ist notig weil es in C zwei verschiedene Arten gibt Funktionen zu deklarieren In der ursprunglichen Notation old style wurden im Funktionskopf die Typen der Argumente nicht angegeben die neue Notation wurde eingefuhrt damit der Compiler die Anzahl und die Typen der Argumente bei einem Funktionsaufruf uberprufen kann Um Kompatibilitat mit bestehendem C Code zu gewahrleisten wurden Deklarationen mit der alten Notation weiterhin erlaubt Damit Funktionsdeklarationen ohne Argumente nicht falschlicherweise als old style erkannt werden wurde festgelegt dass in diesem Fall das Schlusselwort void anstelle der Argumentliste steht In C sind Old style Funktionsdeklarationen dagegen nicht moglich 1 Daher ist void als Argumentliste aquivalent zu einer leeren Argumentliste 2 Funktions Ruckgabe Bearbeiten void als Ruckgabetyp einer Funktion bedeutet dass diese Funktion keinen Wert zuruckliefert Beispiel void addiere int s1 int s2 double summe summe s1 s2 return formal erlaubt aber in diesem Fall ohne jegliche Wirkung d h kann entfallen Einzelnachweise Bearbeiten Bjarne Stroustrup The C Programming Language Special Edition Addison Wesley Reading MA 2000 ISBN 978 0 201 70073 2 S 816 817 Margaret A Ellis Bjarne Stroustrup The Annotated C Reference Manual Addison Wesley Reading MA 1990 ISBN 978 0 201 51459 9 S 138 Abgerufen von https de wikipedia org w index php title Void Schlusselwort amp oldid 223350440