Huis Persoonlijke financiën Hoe prototype een functie in C Programmering - dummies

Hoe prototype een functie in C Programmering - dummies

Video: 9.19: Prototypes in Javascript - p5.js Tutorial 2024

Video: 9.19: Prototypes in Javascript - p5.js Tutorial 2024
Anonim

Wat gebeurt er als je geen prototype maakt? Zoals met alles in C-programmeren, laat je de compiler of linker weten wanneer er een fout optreedt, of het programma werkt niet correct. Het is niet het einde van de wereld - nee, niet zoals het programmeren van een militaire robot of het ontwerpen van genetische code voor een nieuwe soort vliegenvangnet van Venus.

BASISFUNCTIE; NO RETURN

# include void prompt (); / * functie prototype * / int main () {int loop; char input [32]; lus = 0; while (loop ");}

Oefening 1 : Wijzig de broncode van de basisfunctie, geen retour Commentaar uit het prototype van regel 3. Bouw het resultaat.

Compilerfouten zijn prachtige dingen, heerlijk nauwkeurig maar volledig cryptisch.Hier is de foutmelding gegenereerd door Code:: Blokken, hoewel alleen de relevante delen van het bericht:

13 Waarschuwing: impliciete functie-verklaring ' prompt '23 Waarschuwing: conflicterende typen voor' prompt '13 Waarschuwing: eerdere impliciete melding van' prompt 'was hier

De eerste waarschuwing vindt plaats op regel 13 in het broncodebestand, waarbij de prompt () -functie wordt gebruikt in de hoofdtaal () functie.De compiler vertelt je dat je een functie zonder een prototype gebruikt.Als de foutmelding zegt, verklaar je impliciet een functie.Dat is een niet-nee, maar niet een volledige fout. >

De tweede waarschuwing doet zich voor waar de prompt () -functie in het programma aanwezig is. In de broncode staat deze op regel 23. De waarschuwing vermeldt dat pro mpt () was al gedeclareerd (op regel 11) en dat het tweede gebruik mogelijk in strijd is met het eerste.

De laatste waarschuwing is een verwijzing terug naar waar de functie werd aangeroepen, opnieuw op regel 13.

Om het bondig te zeggen: de compiler heeft geen idee wat er aan de hand is met de prompt () -functie. Uw code compileert, maar het uitvoeren ervan is riskant.

Je kunt de conclusie trekken dat prototyping een absolute noodzaak is in je C-code. Dat is niet helemaal waar. U kunt prototyping vermijden door de functies in uw broncode opnieuw te ordenen. Zolang een functie wordt vermeld voordat deze wordt gebruikt, hebt u geen prototype nodig.

Oefening

2 : Bewerk uw broncode uit Oefening 10-3. Verwijder het functieprototype met commentaar op regel 3. Knip en plak (verplaats) de prompt () -functie van onder aan de broncodelijst naar de top, boven de hoofdfunctie (). Opslaan, bouwen en uitvoeren. Het vermijden van het functieprototype toont de oplossing voor Oefening 2.

DE FUNCTIE PROTOTYPE VERMIJDEN

# include / * Displayprompt * / void prompt (void) {printf ("C: DOS>");} int main () {int loop; char input [32]; lus = 0; while (loop <5) {prompt (); fgets (invoer, 31, stdin); lus = lus + 1;} return (0);}

Het eerst schrijven van de functie main (), gevolgd door andere functies, zorgt voor een betere leesbaarheid, maar u kunt uw eigen functies eerst plaatsen om prototyping te voorkomen.En als je dat niet doet, onthoud dan dat andere programmeurs het op die manier kunnen doen, wees dus niet verrast wanneer je het ziet.

Compiler-foutmeldingen in Code:: Blokken hebben er haakjes achter staan. De opmerkingen tussen haakjes verwijzen naar de

switch , of de traditionele opdrachtregeloptie, waarmee een specifieke waarschuwing kan worden gecontroleerd. De foutmeldingen van Oefening 1 lezen bijvoorbeeld volledig: 11 Waarschuwing: impliciete functie-aanwijzing (-Wimplicit-function-declaration) 20 Waarschuwing: conflicterende typen voor 'prompt' (standaard ingeschakeld) >

Hoe prototype een functie in C Programmering - dummies

Bewerkers keuze

Tien Helpbronnen voor Junos OS - dummies

Tien Helpbronnen voor Junos OS - dummies

Dit is een top-tien lijst met bronnen die u moet zoeken meer informatie over softwarebewerkingen, training en ondersteuning voor Junos - alle extra details die u mogelijk nodig heeft om Junos OS te kunnen configureren en bedienen in uw eigen netwerkimplementaties. CLI Help-commando's Bent u op zoek naar meer achtergrondinformatie over hoe een bepaalde functie ...

De functie van de drie vlakken van Junos netwerk OS - dummies

De functie van de drie vlakken van Junos netwerk OS - dummies

De architectuur van de Junos opererende systeem verdeelt de functies van besturing, services en doorsturen op verschillende niveaus. Elk van de vlakken van Junos OS biedt een kritieke set van functionaliteit in de werking van het netwerk. Besturingsvlak van het Junos-netwerkbesturingssysteem (NOS) Alle functies van het besturingsvlak lopen op ...

De basisprincipes van BGP-routebealing - dummy's

De basisprincipes van BGP-routebealing - dummy's

Het configureren van Border Gateway Protocol (BGP) kan nogal lastig zijn, vooral met grote aantallen peersessies die handmatig moeten worden geconfigureerd. In feite kan in een groot netwerk de full-mesh-vereiste voor IBGP een provisioning-nachtmerrie zijn. BGP's antwoord op de IBGP-paring-configuratie-nachtmerrie die het volledige maaswerk is, wordt routeberefening genoemd. Route ...

Bewerkers keuze

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Noodzakelijke elementen voor SEO om hoge trefwoorden te krijgen - dummies

Als de allerbeste locatie op het web staat op de pagina een van de zoekmachines, je moet de SEO-elementen kennen die je daar kunnen brengen. Een goede plek om te beginnen is met zoekwoorden. Zoekmachines gebruiken geavanceerde processen om zoekwoordgebruik en andere factoren te categoriseren en analyseren om erachter te komen ...

Persberichten als bron van SEO-inhoud - dummies

Persberichten als bron van SEO-inhoud - dummies

Het leuke aan persberichten is dat u ze zonder toestemming op uw website kunt gebruiken, en sommige zullen al voor de zoekmachine zijn geoptimaliseerd. Het doel van een persbericht is om het uit te sturen en te zien wie het ophaalt. U hoeft geen contact op te nemen met de eigenaar van het persbericht, omdat ...

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Kies een domeinnaam die geoptimaliseerd is voor zoekmachines - dummies

Zelfs de domeinnaam van uw site moet geoptimaliseerd voor zoekmachines. Zoekmachines lezen uniforme resource locators (URL's), op zoek naar sleutelwoorden erin. Bijvoorbeeld als u een website heeft met de domeinnaam knaagdierracen. com en iemand zoekt Google op knaagdierenraces, Google ziet rodent-racing als een wedstrijd; omdat er een streepje verschijnt tussen de twee ...

Bewerkers keuze

Praxis Elementair onderwijs Examen-Economie - dummies

Praxis Elementair onderwijs Examen-Economie - dummies

U zult enkele basisconcepten van de economie voor de Praxis moeten kennen Elementair onderwijs examen. Elementaire economie onderzoekt de wens voor, de productie van en de verkoop en het gebruik van geld, zowel lokaal als wereldwijd. Het onderwijzen van economie omvat concepten zoals behoeften versus behoeften, kosten en meer tot nadenken stemmende onderwerpen, zoals de volgende: ...

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Praxis Elementair onderwijs voor Dummy's Cheat Sheet - dummies

Het Praxis basisonderwijs: Curriculum, instructie en beoordeling examen (5017) bestrijkt een breed scala van wat u moet weten over basisonderwijs. Als u het Praxis Elementary Education: Content Knowledge-examen (5018) neemt, moet u zich ervan bewust zijn dat het de dekking beperkt tot de inhoud van de vier hoofdonderwerpen die een elementaire leraar is ...

Praxis Core For Dummies Cheat Sheet - dummies

Praxis Core For Dummies Cheat Sheet - dummies

Voordat je te opgewonden raakt, begrijp dat de informatie die volgt niet klopt eigenlijk niet over het bedriegen van de Praxis. Het gaat echt meer om de meest efficiënte manieren om je voor te bereiden op het examen. Maar "voorbereidingsblad" heeft niet helemaal dezelfde reden. Trouwens, vals spelen is niet nodig als je weet wat je aan het doen bent, en ...