The VEX Visual Studio Code Extension has replaced VEXcode Pro V5, which is now end-of-life.
VEXcode Blocks and VEXcode Text remain actively developed and supported for all VEX platforms.
Funkcijas definīcija
Tagad, kad esam izpētījuši dažus paraugus, apskatīsim funkcijas definīcijas vispārējo formu:
void function-name() {
Mainīgo deklarācijas utt.
Izteiksmes...
// nav nepieciešama skaidra atgriešana.
}
Funkcija neatgriež ne īpašu vērtību, ne ienākošos parametrus.
void function-name(datu tipa mainīgais) {
Mainīgo deklarācijas utt.
Izteiksmes...
// nav nepieciešama skaidra atgriešana.
}
Ja vēlaties vairākus mainīgos, vienkārši izmantojiet "," kā atdalītāju:
Funkcija neatgriež īpašu vērtību, bet ar vienu parametru.
Void function-name (datu tipa mainīgais, datu tipa mainīgais utt.) {
Mainīgo deklarācijas utt.
Izteiksmes...
// nav nepieciešama skaidra atgriešana.
}
Funkcija neatgriež īpašu vērtību, bet ar vairāk nekā vienu parametru.
Void function-name (datu tipa mainīgais, datu tipa mainīgais utt.) {
Mainīgo deklarācijas utt.
Izteiksmes...
atgriezt atgriešanās vērtību
}
Funkcija atgriež noteikta datu tipa vērtību un ar vairāk nekā vienu parametru.
Funkcijas veidamatgriežir jābūt tādam pašam kā atgriešanas vērtības datu tipam, kuru funkcija atgriež. atgriešanas vērtībavar būt nemainīga vērtība vai mainīgais. Pirms tā jāieraksta atslēgvārds “return.”
Atgriešanas veidu regulē šādi noteikumi:
- Atgriešanas veidam gandrīz nav ierobežojumu, izņemot masīvu. (Masīvs ir vēl viena detalizētāka tēma par datu izveidi. Tas ir ārpus šī raksta darbības jomas, un tas šeit nav aplūkots.
- Norādot, ka atgriešanas veids “void” nozīmē, ka atgriešanas vērtība nav nepieciešama. Klauzula “atgriešanās” ir netieša. Tas nozīmē, ka funkcijas “neesošā” beigās ir skaidri jānorāda “atgriešanās”.
Vai izveidot funkciju pirms galvenā() vai pēc?
Kompilators nolasa jūsu failu no augšas uz leju. Tādējādi secībai ir nozīme.
Ņemsim kā piemēru vienkāršo lielāko kopsaucēja (GCD) funkciju. Jūs saņemsit kļūdu:nedeklarēta identifikatora getGCD izmantošana
Faktiski tā ir taisnība neatkarīgi no tā, vai tas ir no galvenā ( ) vai cita izsaucošā funkciju bloka, ti, “izsauktajam funkciju blokam” ir jābūt pirms “izsaukšanas funkciju bloka”.
Divi iespējamie risinājumi:
int getGCD(int a, int b) {
int atlikums = 1;
while (atlikušais > 0) {
atlikums = a % b;
a = b;
b = atlikums;
}
atgriešanās a;
}
int main() {
Brain.Screen.printAt(5,60, “GCD ( %d, %d ) = %d”, getGCD(60, 100) );
}
Pārvietojiet “izsaukto funkciju” virs “izsaukšanas funkciju bloka”, piemērā “main().”
int getGCD(int, int);
int main() {
Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}
int getGCD(int a, int b) {
int atlikums = 1;
while (atlikušais > 0) {
atlikums = a % b;
a = b;
b = atlikums;
}
atgriešanās a;
}
Ievietojiet funkcijas prototipu (sauktu arī par parakstu) pirms “izsaukšanas funkciju bloka”.
Ko darīt, ja vēlaties modularizēt funkcijas dažādos failos?
1. darbība. Izveidojiet galvenes failu un ievietojiet funkcijas prototipu šajā failā.
piemēram, izveidojiet failu ar nosaukumu “myFuncs.h”
Pirms koda apkopošanas šis galvenes fails ir “jāpievieno” savam projektam. Tas ļauj VEXcode Pro V5 IDE “apzināties” par šī jaunā galvenes faila iekļaušanu, pirms tas sāk veidot jūsu projektu.
Lūk, kā:



Šajā galvenes failā “common.h” (varat nosaukt visu, ko vēlaties, ja vien tas ir burtciparu un bez atstarpes).
2. darbība. Izveidojiet atsevišķu cpp failu, piemēram, common.cpp

//šis ir common.cpp fails
int getGCD(int a, int b) {
int atlikums = 1;
while (atlikušais > 0) {
atlikums = a % b;
a = b;
b = atlikums;
}
atgriešanās a;
}
Pārvietojiet funkciju getGCD(...) šajā failā
#include "vex.h"
#include "common.h"
, izmantojot nosaukumvietu vex;
int main() {
vexcodeInit();
Brain.Screen.printAt(5,60, "GCD ( %d, %d ) = %d", getGCD(60, 100) );
}
Tagad viss, kas jums ir galvenajā cpp failā, sastāvēs no tālāk norādītā
Atsauce:https://api.vexcode.cloud/v5/html/namespacevex.html
Nākotnes tēmas turpmāk tiks apskatītas progresīvākās VEX bibliotēkas sadaļās:
- Izlaist pēc vērtības un nokārtot pēc atsauces
- Iet masīvā
- Iet konstrukcijā