Hjem Personlig finansiering Hvordan man prototype en funktion i C-programmering - dummier

Hvordan man prototype en funktion i C-programmering - dummier

Video: Map - Part 2 of Functional Programming in JavaScript 2025

Video: Map - Part 2 of Functional Programming in JavaScript 2025
Anonim

Hvad sker der, når du ikke prototype? Som med noget i C-programmering, når du går i gang, lader kompilatoren eller linkeren dig vide med en fejlmeddelelse - eller programmet kører ikke korrekt. Det er ikke verdens ende - nej, ikke som at programmere en militær robot eller designe genetisk kode for en ny art af Venus flytrap.

GRUNDLÆGGENDE FUNKTION; INGEN TILBAGE

#include void prompt (); / * funktion prototype * / int main () {int loop; char-indgang [32]; loop = 0; mens );}

Øvelse 1 : Rediger kildekoden fra Grundfunktion, Ingen Retur. Kommentér prototypen fra Linje 3. Bygg resultatet.

Kompileringsfejl er vidunderlige ting, dejligt nøjagtige men alligevel kryptiske. Her er fejlmeddelelsen genereret af Kode:: Blokke, men kun de relevante dele af meddelelsen:

13 Advarsel: implicit funktionskendelse ' prompt '23 Advarsel: modstridende typer for' prompt '13 Advarsel: tidligere implicit angivelse af' prompt 'var her

Den første advarsel opstår ved linie 13 i kildekodefilen, hvor prompt () -funktionen bruges inden for hovedmenuen () funktionen. Kompilatoren fortæller dig, at du bruger en funktion uden prototype. Som fejlmeddelelsen siger, erklærer du implicit en funktion. Det er en no-no, men ikke en full-on fejl. >

Den anden advarsel opstår, hvor prompt () -funktionen bor i programmet. I kildekoden er den på linje 23. Advarslen fastslår, at pro mpt () blev allerede erklæret (på linje 11), og at den anden brug kan være i konflikt med den første.

Den endelige advarsel er en reference tilbage til, hvor funktionen blev kaldt igen i linje 13.

For at sige det kortfattet: Kompilatoren har ingen idé om, hvad der sker med funktionen prompt (). Din kode kompilerer, men kører det er risikabelt.

Du kan drage den konklusion, at prototyper er en absolut nødvendighed i din C-kode. Det er ikke helt sandt. Du kan undgå prototyper ved at omorganisere funktionerne i din kildekode. Så længe en funktion er opført, før den bruges, behøver du ikke en prototype.

Øvelse

2 : Rediger kildekoden fra øvelse 10-3. Fjern den funktion prototype, der blev kommenteret på linje 3. Klipp og indsæt (flyt) prompt () funktionen fra bunden af ​​kildekoden Listing til toppen over funktionen () (). Gem, bygg og kør. Undgå funktionsprototypen viser løsningen til øvelse 2.

UNDGÅ FUNKTIONSPROTOTYPEN

#include / * Display prompt * / void prompt (void) {printf ("C: DOS>");} int main () {int loop; char-indgang [32]; loop = 0; mens (sløjfe <5) {prompt (); fgets (input, 31, stdin); loop = loop + 1;} returner (0);}

Skriver først hovedfunktionen (), efterfulgt af andre funktioner giver mulighed for bedre læsbarhed, selvom du er fri til at sætte dine egne funktioner først for at undgå prototyper.Og hvis du ikke gør det, skal du huske på, at andre programmører kan gøre det på den måde, så vær ikke overrasket, når du ser det.

Compiler fejlmeddelelser i kode:: Blokke har parentes efter dem. De parentetiske kommentarer refererer til

switch eller den traditionelle kommandolinje, der muliggør kontrol af en bestemt advarsel. F.eks. Fulgte fejlmeddelelserne fra øvelse 1: 11 Advarsel: implicit funktionskonfiguration 'prompt' (-Wimplicit-function declaration) 20 Advarsel: modstridende typer for 'prompt' (aktiveret som standard) >

Hvordan man prototype en funktion i C-programmering - dummier

Valg af editor

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 Genvejstaster - dummies

Microsoft Project 2010 maksimerer effektiviteten, når du administrerer projekter - men også genvejstaster i Project 2010 din tid på tastaturet: Her er nogle genvejstaster, du vil bruge hele tiden, når du bygger og arbejder med en projektplan. Indtastning af tastetryk Indsæt Indsætter ny opgave Ctrl + K Indsætter hyperlink F7 Starter stavekontrol Alt + F10 Tildeler ressourcer ...

Hvordan man ændrer gridlines i Project 2016 - dummies

Hvordan man ændrer gridlines i Project 2016 - dummies

Flere visninger i Project 2016 inkluderer gridlines for at angive visse elementer, f.eks. en pause mellem uger eller status dato (det vil sige den dato, hvor der er sporet fremskridt på et projekt). Disse linjer hjælper en person med at læse planen for at skelne mellem tidsintervaller eller brud på information; For eksempel kan netlinjer være ...

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktion - dummier

Projekt 2016 AutoFilter-funktionen er som standard tændt for alle nye tidsplanfiler. Pile vises i kolonneoverskrifterne i det viste ark. Når du klikker på pilen i kolonnen Ressourcenavne, er navnet på hver ressource, der er tildelt opgaver i projektet, angivet i alfabetisk rækkefølge sammen med ...

Valg af editor

Netværksadministration: Windows Command Omdirigering og piping - dummies

Netværksadministration: Windows Command Omdirigering og piping - dummies

Omdirigering og piping af Windows-kommandoer er relaterede teknikker. Omdirigering giver dig mulighed for at angive en alternativ destination for output, der vil blive vist med en kommando eller en alternativ kilde til input, der skal indtastes i en kommando. Du kan f.eks. Gemme resultaterne af en kommando ipconfig / all til en fil ved navn myconfig. txt ...

Netværksadministration: VPN Security - dummies

Netværksadministration: VPN Security - dummies

Udtrykket tunnel er nogle gange brugt til at beskrive en VPN, fordi VPN'en skaber en sikker tunnel mellem to steder, som kun kan indtastes fra begge ender. De data, der bevæger sig gennem tunnelen fra den ene ende til den anden, er sikre, så længe det er inden for tunnelen - det vil sige inden for ...

Netværksadministration: Windows Miljøvariabler - dummies

Netværksadministration: Windows Miljøvariabler - dummies

Windows-kommandoskallen giver flere miljøvariabler til kommandoer. Miljøvariabler begynder og slutter med procent tegn. Du kan bruge en miljøvariabel overalt i en kommando. For eksempel viser C:> echo% OS%, der kører på% PROCESSOR_IDENTIFIER% en linje som denne: Windows_NT kører på en x86 Familie 15 Model 2 Stepping 8, ...

Valg af editor

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Sådan bruger du arv i PHP med objektorienteret programmering - dummier

Objektorienteret programmering i PHP har en anden funktion, der gør det meget nyttigt til store projekter. Mange objekter er relateret til hinanden, og du kan bruge et familietræforhold til at forenkle din programmering. Hvordan man bygger en critter baseret på en anden critter Der er en ny critter i byen. Denne har den samme grundlæggende ...

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Sådan bruges PHP til at lave en switch til HTML5 og CSS3 Programmering - dummies

Du kører ofte over en situation i HTML5 og CSS3 programmering, hvor du har et udtryk, der kan have mange mulige værdier. Du kan altid bruge strukturen til at klare denne situation, men PHP leverer en anden interessant mulighed. Koden til dette program anvender omskifterstrukturen. Tag et kig på, hvordan det er gjort: