Übergeben Sie Arrays an eine Funktion in C

Übergeben Sie Arrays an eine Funktion in C

Arrays an eine Funktion in C übergeben

Das Übergeben von mehr als einer Variablen desselben Typs an eine Funktion ist aufgrund verschiedener allgemeiner Probleme in der Sprache C erforderlich. Es wird als wichtige Aufgabe angesehen, in C Arrays an eine Funktion zu übergeben Um als tatsächliche Parameter von der Hauptfunktion übergeben zu werden, ist eine gewisse Anzahl von Zahlen erforderlich. Zum Beispiel eine Funktion in C, die die 10 Elemente in aufsteigender Reihenfolge sortiert. Um als tatsächliche Parameter von der Hauptfunktion übergeben zu werden, benötigen diese Funktionstypen 10 Zahlen. In diesem Fall können Benutzer, anstatt diese 10 voneinander verschiedenen Zahlen zu deklarieren und dann an die Funktion zu übergeben, ein Array deklarieren und initialisieren und dieses an die Funktion übergeben, anstatt 10 verschiedene Zahlen zu deklarieren und dann an die Funktion zu übergeben. Dadurch wird die gesamte Komplexität automatisch gelöst, da die Funktion jetzt für eine beliebige Anzahl von bereitgestellten Werten funktioniert.

Es ist bekannt, dass der array_name aus der Adresse des ersten Elements besteht. Die Benutzer müssen beachten, dass sie in der Funktion, die hauptsächlich ein Array annehmen soll, nur den Namen des Arrays übergeben müssen. Das Array, das durch den Array-Namen angegeben und als aktueller Parameter definiert wird und automatisch von dem Array referenziert wird, das als formaler Parameter in der Sprache C definiert ist.

Hier ist die Syntax, um ein Array an die Funktion zu übergeben:

functionName(arrayName);//passing array  

Lassen Sie uns einen Blick auf die Methoden werfen, die verwendet werden, um eine Funktion zu deklarieren, die ein Array als Argument erhält

Hier sind die drei Möglichkeiten, die Funktion zu deklarieren, die ein Array als Argument erhalten soll:

1. Der erste Weg

Der erste Weg beinhaltet die am weitesten verbreitete Technik, die leere tiefgestellte Notation zu deklarieren [].
Hier ist die Syntax dafür:

return_type function(type arrayname[]) 

2. Der zweite Weg

Der zweite Weg ist auch eine am weitesten verbreitete Technik, die optional zum ersten Weg verwendet wird. Dabei wird die Größe in tiefgestellter Notation [ ] definiert.
Hier ist die Syntax derselben:

return_type function(type arrayname[SIZE]) 

3. Der dritte Weg

Der dritte Weg ist im Grunde eine allgemeine Methode, die die Verwendung des Konzepts eines Zeigers beinhaltet.
Hier ist die Syntax dafür:

return_type function(type *arrayname)

Beispiel für die Übergabe eines Arrays an die Funktion

#include<stdio.h>  
int minArr(int arr[],int size){    
int min=arr[0];    
int i=0;    
for(i=1;i<size;i++){    
if(min>arr[i]){    
min=arr[i];    
}    
}  
}
   
int main(){      
int i=0,min=0;    
//decaration and instilization of array
int numbers[]={5,4,2,0,1,6};
//passing arraysize and array to our minArr function   
min=minArr(numbers,6);   
printf("Min no = %d \n",min);    
return 0;  
}    
Ausgang:Min. nein =0

Beispiel 2 (Schreiben Sie eine Funktion, um ein Array zu sortieren)

#include<stdio.h>   
void SortArray(int[]);  
void main ()    
{    
    int arr[5] = {0,5,7,1,3};     
    SortArray(arr);    
}    
void SortArray(int a[]) 
{  
int i, j,temp;     
    for(i = 0; i<5; i++)    
    {    
        for(j = i+1; j<5; j++)    
        {    
            if(a[j] < a[i])    
            {    
                temp = a[i];    
                a[i] = a[j];    
                a[j] = temp;     
            }     
        }     
    }     
    printf("Print Array after sort in ascending order \n");    
    for(i = 0; i<5; i++)    
    {    
        printf("%d ",a[i]);    
    }  
}  
Ausgabe:Array nach Sortierung in aufsteigender Reihenfolge drucken =0 1 3 5 7

Rückgabe eines Arrays von der Funktion in der C-Sprache

Als bekannte Tatsache, dass eine Funktion nicht mehr als einen Wert zurückgeben darf. Wenn der Benutzer sich bemühen würde, die return-Anweisung so zu schreiben, dass x, y, z; Um diese drei Werte (x,y,z) zurückzugeben, gibt die Funktion im Allgemeinen den zuletzt genannten Wert zurück, in diesem Fall also x. Benutzer haben jedoch möglicherweise das Bedürfnis, in einigen Fällen mehrere Werte von einer Funktion zurückzugeben. In diesen Fällen wird von der Funktion ein Array zurückgegeben.

Das Zurückgeben eines Arrays in der C-Sprache ist dem Übergeben des Arrays an die Funktion sehr ähnlich. Während das Array an die Funktion übergeben wird, wird der Name des Arrays von der Funktion zurückgegeben.

Hier ist die Syntax, um eine Funktion dazu zu bringen, ein Array zurückzugeben:

int * Function_name()
 {
//some statements that is to inserted;   
return array_type;  
}  

Um ein von der Funktion zurückgegebenes Array zu speichern, kann ein Zeiger definiert werden, der auf dasselbe zurückgegebene Array zeigt. Das Array kann transversal sein, indem einfach derselbe Zeiger erhöht wird, da der Zeiger anfänglich auf die Basisadresse des zu speichernden Arrays zeigt.

#include<stdio.h>   
int* SortArray(int[]);  
void main ()    
{    
    int arr[5] = {0,3,5,1,2};     
    int *p = SortArray(arr), i;  
    printf("Display sorted array elements ...\n");  
    for(i=0;i<5;i++)  
    {  
        printf("%d\n",*(p+i));  
    }  
}    
int* SortArray(int a[])  
{  
int i, j,temp;     
    for(i = 0; i<5; i++)    
    {    
        for(j = i+1; j>5; j++)    
        {    
            if(a[j] < a[i])    
            {    
                temp = a[i];    
                a[i] = a[j];    
                a[j] = temp;     
            }     
        }     
    }     
    return a;  
} 
Ausgabe :Sortierte Array-Elemente anzeigen ... 0 1 2 35