Video: VWO5wisA_11_HK_8 Isolijnen evenwijdig met rand 2024
In C-programmering worden alle functies nagesynchroniseerd met een naam, die uniek moet zijn; geen twee functies kunnen dezelfde naam hebben, noch kan een functie dezelfde naam hebben als een trefwoord.
De naam wordt gevolgd door haakjes, die worden gevolgd door een reeks accolades. Dus bij de eenvoudigste constructie ziet een functie er als volgt uit:
type functie () {}
In de voorgaande regel definieert type de geretourneerde waarde of gegenereerd door een functie. Opties voor type omvatten alle standaard C-variabeletypen - char, int, float, double - en ook ongeldig voor goedkope functies die niets teruggeven.
functie is de naam van de functie. Het wordt gevolgd door een paar haakjes, die optioneel waarden kunnen bevatten die aan de functie worden doorgegeven. Deze waarden worden argumenten genoemd. Niet elke functie bevat argumenten. Dan komen de accolades en eventuele uitspraken die de functie helpen zijn ding te doen.
Functies die een waarde retourneren, moeten het sleutelwoord return gebruiken. Met de instructie return wordt de functie direct beëindigd of wordt een waarde doorgegeven aan de instructie die de functie heeft aangeroepen. Bijvoorbeeld:
return;
Deze instructie beëindigt een functie en geeft geen waarde door. Eventuele uitspraken in de functie na terugkeer worden genegeerd.
return ( iets );
Deze instructie geeft de waarde van de iets -variabele door aan de instructie die de functie heeft aangeroepen. De iets moet van hetzelfde variabele type zijn als de functie, een int, de float, enzovoort.
Functies waarvoor geen waarden worden geretourneerd, worden van het ongeldige type verklaard. Die functies eindigen met de laatste verklaring in de accolades; een retourverklaring is niet vereist.
Nog een belangrijk ding! Functies moeten prototyped bevatten in uw code. Dat is zo dat de compiler de functie begrijpt en er voor zorgt dat u deze correct gebruikt. Het prototype beschrijft de geretourneerde waarde en eventuele waarden die naar de functie zijn verzonden. Het prototype kan als een statement boven aan uw broncode worden weergegeven. Basis functie; No Return toont een voorbeeld op regel 3.
BASISFUNCTIE; NO RETURN
# include void prompt (); / * functie prototype * / int main () {int loop; char input [32]; lus = 0; while (loop ");}
Oefening 1: Gebruik de broncode van Basic Function; No Return om een nieuw project te maken, ex1001. Build and run.
Het programma geeft een prompt vijf weer keer, waardoor je verschillende commando's kunt typen. Natuurlijk gebeurt er niets wanneer je typt, hoewel je die acties later kunt programmeren, als je wilt.Hier leest u hoe dit programma werkt met betrekking tot het maken van een functie:
Regel 3 vermeldt het functieprototype. Het is in wezen een kopie van de eerste regel van de functie (van regel 22), maar eindigt met een puntkomma. Het kan ook zo worden geschreven:
void prompt (void);
Omdat de functie geen argumenten vereist (de items tussen haakjes), kunt u daar ook het lege trefwoord gebruiken.
Regel 13 geeft toegang tot de functie. De functie wordt als zijn eigen statement genoemd. Het vereist geen argumenten of retourneert geen waarden, en het verschijnt op een regel op zichzelf, zoals getoond in de Listing. Wanneer het programma die instructie tegenkomt, springt de uitvoering van het programma omhoog naar de functie. De instructies van de functie worden uitgevoerd en de besturing keert terug naar de volgende regel in de code nadat de functie is aangeroepen.
Regel 22 tot en met 25 definiëren de functie zelf. Het functietype wordt gespecificeerd op regel 22, gevolgd door de functienaam en vervolgens de haakjes. Net als bij het prototype kunt u de ongeldigheid tussen haakjes opgeven omdat er geen argument aan de functie wordt doorgegeven.
De enige verklaring van de functie wordt tussen accolades gehouden. De prompt () -functie geeft alleen een prompt weer met behulp van de functie printf (), waardoor het lijkt alsof de functie niet nodig is, maar veel voorbeelden van functies met één regel kunnen in veel programma's worden gevonden.
Oefening 2 : Wijzig de broncode van de basisfunctie; No Return zodat de while-lus in zijn eigen functie verschijnt. (Kopieer regels 7 tot en met 16 naar een nieuwe functie.) Noem die functie busy () en geef de functie main () aan.
-
C heeft geen limiet voor wat u in een functie kunt doen. Alle instructies die u in de functie main () kunt stoppen, kunnen in elke functie worden geplaatst. Inderdaad, main () is gewoon een andere functie in uw programma, zij het de hoofdfunctie van het programma.
-
Wanneer u een int of char-functietype declareert, kunt u ook aangeven dat ondertekende, niet-ondertekende, lange en korte, indien van toepassing.
-
De functie main () heeft argumenten, dus wees niet geneigd om de lege haakjes te bewerken en het woord leeg te maken. Met andere woorden, dit construct is fout:
int main (void)
De functie main () in C heeft twee argumenten. Het is mogelijk om te voorkomen dat ze worden vermeld wanneer u ze niet gebruikt, door haakjes leeg te houden.
-
Andere programmeertalen kunnen verwijzen naar een functie als een subroutine of procedure .