void este un tip , un specificator de tip și un cuvânt cheie în limbajele de programare C , C++ , Java , C# , Objective-C , D , ActionScript și PHP .
Printre limbajele de programare moderne, cuvântul cheie voida apărut pentru prima dată în C++ pentru a sprijini conceptul de pointeri generici . Cu toate acestea, datorită împrumutării rapide de la C++, primul document normativ care conține acest cuvânt cheie a fost standardul C, publicat de ANSI în 1989. În limbajul C++ void, a fost standardizat în 1998.
Ulterior, cuvântul cheie voidși constructele de limbaj asociate au fost moștenite de Java și C#, D, PHP [1] .
Sintactic, voideste unul dintre specificatorii de tip din grupul mai general de specificatori de declarații , dar este implementat ca instrucțiune în unele limbaje de programare. De exemplu, în JavaScript void este un operator și returnează întotdeauna undefined:
expresie nulă === nedefinită ;Semantica cuvântului cheie voidnu este supusă semanticii generale a specificatorilor de tip și depinde de utilizare:
Tipul voideste definit ca un tip incomplet care nu poate fi completat. În consecință, acest tip nu trebuie utilizat acolo unde sunt permise numai tipuri complete, cum ar fi un tip de parametru într- o definiție a funcției .
Înainte de publicarea primului standard C în 1989, care a introdus cuvântul cheie void, era o practică obișnuită să se declare funcții care nu returnau valori fără a utiliza specificatorii de tip. În timp ce o astfel de declarație era echivalentă din punct de vedere semantic cu declararea unei funcții care returnează o valoare de tip int, specificatorii de tip omis intenționat au subliniat că funcția nu a returnat nicio valoare anume. De exemplu:
f ( longl ) _ { /* ... */ }În mod similar, definițiile funcției care nu aveau parametri au fost scrise cu paranteze goale:
int main () { /* ... */ }Un pointer către char a fost folosit ca indicator generic . Mai mult, standardele moderne cer ca cerințele de reprezentare și aliniere pentru void-pointeri să fie aceleași ca pentru pointerii către char, ceea ce înseamnă că aceste tipuri sunt interschimbabile .
Primul dialect standard al lui C ( C89 ), deși permitea deja notarea cu cuvântul cheie void, permitea totuși această utilizare a intului implicit pentru a menține compatibilitatea cu codul existent. Dialectul C modern ( C99 ) nu permite absența specificatorilor de tip în numele și declarațiile de tip.
Sunt prezentate exemple de declarare a unei funcții care returnează nulă.
Tipuri de date | |
---|---|
Ininterpretabil | |
Numeric | |
Text | |
Referinţă | |
Compozit | |
abstract |
|
Alte | |
subiecte asemănătoare |