3 svar
46 visningar
HiMate123 349
Postad: 22 nov 12:23

void funktion

Hej
Hur vet man om man ska använda void i sitt program? 
Lite osäker. Jag fattar att void inte returnerar nåt, men det gör inte användningen enklare 

Dracaena 3997 – Moderator
Postad: 22 nov 12:31

Menar du när man skapar en funktion? Det beror helt på vad man vill att funktionen ska göra. I C behöver man inte returnera värden dock, du kan använda dig av pekare istället.

Programmeraren Online 975
Postad: 22 nov 12:45 Redigerad: 22 nov 12:45

"void method()" betyder att metoden "method" inte returnerar något värde.

C-program använder i praktiken alltid minnespekare, språket är mer maskinnära än t ex Java.
"void *ptr" deklarerar en generisk minnespekare. Används t ex när man vill peka på olika saker med samma pekarvariabel.

Om du t ex vet att det ligger en int på den minnesdress som "ptr" pekar på kan du hämta värdet med:
int x = *(int*)ptr;
Eftersom ptr pekar på en "ingenting" måste vi tala om för kompilatorn att den ska tolkas som en int-pekare, sen hämtar "*" int-värdet på adressen.

"void *method2()" betyder att metoden "method2" returnerar en pekare.

Laguna Online 16914
Postad: 22 nov 14:43

Ännu en användning för ordet "void" är när en funktion inte tar några argument. Då skriver man t.ex.

int func(void)


Tillägg: 22 nov 2021 14:55

Jag kom på en användning till: om man har ett funktionsanrop som returnerar ett värde, men man inte vill ha värdet, så kan man låta bli att sätta en variabel till värdet, men då får man en varning för att man kanske har glömt det, så då kan man skriva (void) framför så kommer det ingen varning.

 

Svara Avbryt
Close