Returmarray fra funksjon C ++

Returmarray fra funksjon C ++

Arrays lagrer dataene av samme type i et påfølgende minneplassering. Funksjoner bryter de større problemene i mindre biter for å gjøre det lettere for programmerere å kode. En annen fordel med å bruke funksjonen er at den får koden til å se presentabel og ren. Noen ganger trenger vi en funksjon som returnerer en matrise slik at vi kan bruke den matrisen i andre funksjoner. Deretter kommer konseptet med matrisefunksjonen i C++. Det er funksjonen som returnerer matrisen til en annen funksjon. I denne Linux -hintopplæringen vil vi vise deg med eksempler på hvordan du returnerer matriser fra funksjoner som du skriver på C ++ -språket.

Metoder:

Å returnere en komplett matrise på en enkelt funksjonsanrop er ikke mulig. Vi gjør dette med forskjellige teknikker. Det er tre metoder i C ++ for å returnere en matrise fra en funksjon. Vi vil forklare dem alle etter hverandre med koder.

Returner matrisen fra en funksjon ved å bruke:

  • Pekere
  • Struktur
  • STD :: Array

Pekere

Pekere på ethvert programmeringsspråk brukes til å holde minneadressen til et annet minneplass i den. Pekere brukes også til å gi en funksjon til en annen funksjon. Med dette kan vi overføre en matrisedata til de andre funksjonene.

På tips er det også to tilnærminger for å returnere matrisen fra en funksjon:

  • Dynamisk tildelt matrise
  • Statisk tildelt matrise

Struktur

Strukturene brukes til å lagre de forskjellige datatypene i den. Inne i strukturene kan vi lagre matrisen og lage en forekomst av den strukturen. På denne måten kan vi returnere matrisen. Vi kan lage mer enn ett forekomst av struktur for å få tilgang til matrisen som er lagret i strukturen.

STD :: Array

Dette er en annen funksjon som brukes til å returnere matrisen fra funksjonen i C++. Det gir også to metoder - den ene er størrelsen () og den andre er tom (). STD :: Array, kan vi si, er en mal med strukturer. Men de to metodene det gir er plusspunktet med å bruke denne funksjonen for å få matrisen fra hvilken som helst funksjon. Denne funksjonen brukes sjelden; Vi bruker ofte pekere og struktur.

Eksempel 1:

For å forklare hvordan vi kan bruke pekerne til å returnere den dynamiske matrisen fra en funksjon, se på følgende kode:

#inkludere
ved hjelp av navneområdet STD;
char* character_func ()

char* array_0 = new char [3];
Array_0 [0] = 'A';
Array_0 [1] = 'B';
Array_0 [2] = 'C';
returnerer array_0;

int main ()

char* p = character_func ();
cout<< "The character array is ";
cout <<"\t"<< p[0] << " " << p[1]<< " " << p[2];
retur 0;


Etter å ha erklært biblioteket, definerer du en karakter_func () -funksjon for å lagre matrisen i den. Funksjonen er en returtypefunksjon. Returtypen er “Char” som returnerer karakteroppstillingen. Char* forteller at det er en peker å lagre karaktertypen. Inne i denne funksjonen, erklær en rekke pekeren for å lagre karakteroppstillingen. Størrelsen på matrisen er 3. Deretter initialiseres matrisen med indeksnummeret og returnerer array -variabelen. Vi lagrer karaktergruppen i “Array_0”. I Main () -metoden, lag en peker “P” av karaktertypen og lagre Character_func () i den. Dette betyr at vi ved hjelp av denne pekeren "P" kan få tilgang til elementene i Character_func (). Vis deretter en melding på terminalen med “cout<<” statement. Similarly, print the array components by accessing them with the pointer “p” from the return type function. Cout<< “\t” leaves a tab space, <

Eksempel 2:

Her bruker vi pekerne for å returnere den statiske matrisen fra en funksjon.

#inkludere
ved hjelp av navneområdet STD;
float* floating_func ()

statisk float array_1 [2];
Array_1 [0] = 3.5;
Array_1 [1] = 5.7;
Retur Array_1;

int main ()

float* peker = flytende_func ();
cout<<"\n\t The floating point static array is ";
cout <<"\t"<< pointer[0] << "\t" << pointer[1]<retur 0;


I dette eksemplet, la oss ta en returtypepekerfunksjon av float -type som returnerer Floating Point -matrisen. Initialiser en flytende punktsarray - “Array_1" - i størrelse 2 innen FLOW_FUNC (). Her bruker vi nøkkelordet "statisk" for å angi variabelen som en lokal variabel som kan nås utenfor funksjonen. Nå, erklær matrisen og returnerer array -variabelen. I main () -funksjonen, definer en flytende punktpeker og tilordne en flytende_func () -funksjon til den. Deretter representerer du en melding på skjermen. Ved hjelp av en peker kan vi nå få tilgang til alle elementene i returtypefunksjonen. Vis matriseelementene ved å ringe en peker. Pekeren går inn i funksjonen og får matrisen som vi setter som retur. Bruk uttalelsen om "retur 0" for å avslutte koden.

Eksempel 3:

I dette siste tilfellet returnerer vi en matrise fra en funksjon ved hjelp av strukturer.

#inkludere
ved hjelp av navneområdet STD;
struct arr
int a [5];
;
struct arr_func ()

struct arr val;
Val.a [0] = 5;
Val.A [1] = 67;
Val.A [2] = 98;
Val.A [3] = 77;
Val.A [4] = 55;
Returner Val;

int main ()

struct arr val = arr_func ();
cout<<"\n\tThe array is \n";
for (int i = 0; i<5; i++)

cout <<"\t"<< val.a[i]<
retur 0;


Definer “ARR” -strukturen ved å bruke "Struct" nøkkelordet. I denne strukturen initialiser en rekke størrelse 5. Deretter erklærer vi de forskjellige variablene og får tilgang til dem med navnet på strukturen for å bruke dem i funksjonene. Lag nå en struktur-funksjon arr_func () for å initialisere matrisen. For å gjøre det, definer en "struktur" for å kalle "val" -variabelen. "Val" -variabelen får tilgang til plasseringen av "struct" -arrayen og lagrer verdien i den. Alle matriseartiklene er nå lagret i “Val”. I Main () -metoden lager du forekomsten av "struct" og tildeler arr_func () -funksjonen til den. Skriv ut "The Array Is" -teksten på konsollen ved å ringe "Cout<<”. To print the array, we utilize the “for” loop. Set the “for” to iterate 5 times. Insert the statement inside the curly braces so that we get the items of the array. Outside the loop, pass the “return 0” statement.

Konklusjon

Denne artikkelen illustrerer hvordan du returnerer en matrise fra en funksjon i C++. Maten kan returneres fra funksjonen med tre forskjellige tilnærminger. Hver metodikk blir forklart i detalj, etter kodingseksemplet. Alt blir adressert helt fra begynnelsen, inkludert bruk av pekere og deres typer, bruk av strukturer og STD :: Array -funksjonen. C ++ har ikke innebygde metoder som de andre språkene gir, så vi må gjøre alt på egen hånd. C ++ er best for nybegynnere å forstå det grunnleggende om koding.