Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

void

Anoniem
Lodyx
15 antwoorden
  • ik was bezig met een c tuto maar ik stuyitte op het volgende probleem…
    ik weet niet precies wat void doet:

    [quote:78da33024f]Void:

    Het void type is een speciaal type, het geeft de afwezigheid van een waarde aan. Het meest gebruikte methode is de weergave van de terugkomst waarde van methodes, een ander gebruik is een expressie waar een expressie niet nodig en ook niet toegestaan is.
    Void is de enige void-type waarde, geen handelingen kunnen worden uitgevoerd op void, en er is geen standaard waarde voor de void type.
    [/quote:78da33024f]

    lijkt het hierop of niet, en kan er iemand een voorbeeld van geven??

    vriendelijke groet,
    deev
  • Hmmm, als je zelfs al niet weet wat void inhoudt, zal ik eerst nog maar
    eens even verder zoeken naar een echte beginners tutorial, maar goed:

    Sommige talen kennen functies en procedures. Functies geven waarden
    terug, procedures niet. In talen als C en Java heten dat allemaal
    methodes. Wil je nu dat de methode geen waarde teruggeeft (een
    procedure zeg maar) dan gebruik je void als resultaat-type (er is immers
    geen resultaat-waarde).
    Methodes kunnen parameters meekrijgen. Dit hoeft echter niet en in zo'n
    geval gebruik je ook void als parameter-type (m.a.w. geen parameter).

    Nogmaals; het lijkt me handiger dat je gewoon een tutorial for dummies
    (geen belediging ;)) zoekt, want je zal vast nog wel meer van dit soort
    beginnersvragen krijgen, denk ik. Je hebt dan ook gelijk wat simpele
    voorbeelden tot je beschikking. Ff zoeken met Google dus.
  • nee die heb ik al maar daar staat het uitgelegd maar geen voorbeeld en daar staat zo'n uitleg net als boven ik had gegeven.. daarom maar heeft er niemand dan een voorbeeld voor mij??
  • [code:1:b15e3f437e]
    #include <stdio.h>
    void main()
    {
    printf("Hello World");
    }
    [/code:1:b15e3f437e]

    Zo, een voorbeeld :P

    De methode main() geeft GEEN waarde terug (het beeldt alleen "Hello
    World" af op het scherm), vandaar het gebruik van void.

    Maar als je even de tijd neemt om op Google te zoeken naar "beginners
    tutorial" oid, dan moet je wel wat vinden. Het web ligt bezaait met dat
    soort tutorials.
  • Hier heb je zo'n website:

    http://cplus.about.com/cs/ctutorials/index.htm
  • sorry, maar die site doet t niet….

    1) maar wat is het nu dan precies van die void, want hierbij merk je niets dat hij geen waarde teruggeeft…

    2) ik krijg een 'foutmelding' (hij doet t wel maar dan nog)

    [code:1:d0abf45eb6]warning: return type of 'main' is not 'int'[/code:1:d0abf45eb6]

    maar daar kan ik gewoon over heen kijken toch, want hij waarschuwt alleen dat het geen int is..

    Greetz
  • Void betekent eigenlijk leegte. Oftewel de variable die een functie terug kan geven is leeg/geen waarde.
  • [quote:a1474a95a8="redrum"]sorry, maar die site doet t niet….

    1) maar wat is het nu dan precies van die void, want hierbij merk je niets dat hij geen waarde teruggeeft…

    2) ik krijg een 'foutmelding' (hij doet t wel maar dan nog)

    [code:1:a1474a95a8]warning: return type of 'main' is not 'int'[/code:1:a1474a95a8]

    maar daar kan ik gewoon over heen kijken toch, want hij waarschuwt alleen dat het geen int is..[/quote:a1474a95a8]
    Theoretisch zou main nu [i:a1474a95a8]garbage[/i:a1474a95a8] aan de caller kunnen teruggeven.
    Wellicht dat C(++) daar standaard 0 van maakt. (of toch niet? anders zou je geen warning krijgen.)
    [quote:a1474a95a8="bosjvd"]
    Void betekent eigenlijk leegte. Oftewel de variable die een functie terug kan geven is leeg/geen waarde.[/quote:a1474a95a8]
    [i:a1474a95a8]Leeg[/i:a1474a95a8] is volgens mij niet hetzelfde als [i:a1474a95a8]geen waarde[/i:a1474a95a8]
    Kijk maar naar NULL als pointer of het gebruik hiervan in SQL queries.

    void wil zeggen: "geen waarde". Dus geen waarde als input/output.
    M.a.w. geen (extra) waarden op de stack danwel registers zetten/ophalen.
  • void kun je ook opvatten als "ongetypeerd", denk maar aan void pointers.
    http://www.cee.hw.ac.uk/~rjp/Coursewww/Cwww/voidstar.html
  • dus als ik het goed begrijp doet void hetvolgdende

    int test(void)
    {
    printf("De test waarde is 15");
    }

    Hij geeft wel de "De test waarde is 15" weer maar hij slaat ze niet op zal ik maar zeggen…

    maar je hebt 2 verschillende 'soorten' void:

    namelijk die tussen de haakjes -int test(void)- en die voor de haakjes -void test()-

    wat is daar het verschil van?
    Greetz

    (sorry dat ik het zo wil weten, maar ja als je ergens mee begint moet je het wel goed doen natuurlijk)
  • Nee, in jouw voorbeeld kun je geen parameters aan de functie test
    meegeven. Je zou bijvoorbeeld de volgende test functie kunnen maken:

    void test(int waarde)
    {
    printf("De test waarde is %i", waarde)
    }

    Als je nu de functie als volgt aanroept in de
    programma code: test(15)
    dan wordt er "De test waarde is 15" afgebeeld.
    Void geeft nu aan dat de functie geen waarde
    teruggeeft aan het programma zelf.

    Jouw voorbeeld zorgt ervoor dat de functie niet aangeroepen kan worden
    met test(15). Het programma accepteert namelijk geen parameters,
    vanwege de void in 'int test(void)'. In dit geval heeft de int ook geen zin
    want de functie geeft geen waarde terug aan het programma (geen
    return waarde).
  • Als je de "void" snapt, zal jij mij nu dit uit kunnen leggen:

    [code:1:10aa023e51]
    void (*(*f[])())()
    [/code:1:10aa023e51]

    :D
  • [quote:2ff1569230="w.roosenburg"]Als je de "void" snapt, zal jij mij nu dit uit kunnen leggen:

    [code:1:2ff1569230]
    void (*(*f[])())()
    [/code:1:2ff1569230]

    :D[/quote:2ff1569230]

    Ik durf te beweren dat ik deze eerder ben tegengekomen…

    Oke dan. We gebruiken de zoekfunctie. en typen in
  • Ipv die void kan je een type returnvariable weergeven bijv

    int Functie (int);
    {
    return ….
    }

    de funtie heeft dus een int als invoer en er komt ook een int uit dmv die return. Als daar void staat returnt hij niets, en wordt er dus geen waarde terug gegeven

    je kan die functie later gebruiken als

    iGetal = Functie (iAndergetal);

    je gebruikt iAndergetal als invoer, en de uitvoer van die functie wordt in iGetal gepropt.

    grtz
  • [quote:f0985dd5b8="w.roosenburg"]Als je de "void" snapt, zal jij mij nu dit uit kunnen leggen:

    [code:1:f0985dd5b8]
    void (*(*f[])())()
    [/code:1:f0985dd5b8]

    :D[/quote:f0985dd5b8]

    ik voel ff de neiging antwoord te geven

    Dit is een functiepointer naar een array van functiepointers. Om eerlijk te zijn zie ik niet in wat je er nou precies aan hebt, je hebt bijv. meer aan:

    void (*f[])((*)())
    of
    void (*f)((*n[])())

    een array naar functies die een functie als argument nemen, of een functie die een array van functies als argument neemt.

    De code die je gaf is waarschijnlijk puur omdat niemand 'm zou begrijpen :P

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.