Tömbök átadása egy függvénynek C-ben

Ebben az oktatóanyagban megtanulja a tömböket (egy- és többdimenziós tömböket is) átadni a C programozás egyik funkciójának példák segítségével.

A C programozásban a teljes tömböt átadhatja a függvényeknek. Mielőtt megtanulnánk, nézzük meg, hogyan lehet egy tömb egyes elemeit átadni a függvényeknek.

Az egyes tömb elemek átadása

A tömbelemek átadása egy függvényhez hasonló a változók átadásához egy függvényhez.

1. példa: Egy tömb átadása

 #include void display(int age1, int age2) ( printf("%d", age1); printf("%d", age2); ) int main() ( int ageArray() = (2, 8, 4, 12); // Passing second and third elements to display() display(ageArray(1), ageArray(2)); return 0; ) 

Kimenet

 8 4 

2. példa: Tömbök átadása a függvényeknek

 // Program to calculate the sum of array elements by passing to a function #include float calculateSum(float age()); int main() ( float result, age() = (23.4, 55, 22.6, 3, 40.5, 18); // age array is passed to calculateSum() result = calculateSum(age); printf("Result = %.2f", result); return 0; ) float calculateSum(float age()) ( float sum = 0.0; for (int i = 0; i < 6; ++i) ( sum += age(i); ) return sum; )

Kimenet

 Eredmény = 162,50

Ha egy teljes tömböt át akarunk adni egy függvénynek, akkor csak a tömb nevét adjuk át argumentumként.

 result = calculateSum(age);

Azonban vegye figyelembe ()a függvénydefiníció használatát .

 float calculateSum(float age()) (… )

Ez arról tájékoztatja a fordítót, hogy egydimenziós tömböt ad át a függvénynek.

Többdimenziós tömbök átadása egy funkciónak

Többdimenziós tömbök átadásához egy függvényhez csak a tömb nevét adják át a függvénynek (hasonlóan az egydimenziós tömbökhöz).

3. példa: Kétdimenziós tömbök átadása

 #include void displayNumbers(int num(2)(2)); int main() ( int num(2)(2); printf("Enter 4 numbers:"); for (int i = 0; i < 2; ++i) for (int j = 0; j < 2; ++j) scanf("%d", &num(i)(j)); // passing multi-dimensional array to a function displayNumbers(num); return 0; ) void displayNumbers(int num(2)(2)) ( printf("Displaying:"); for (int i = 0; i < 2; ++i) ( for (int j = 0; j < 2; ++j) ( printf("%d", num(i)(j)); ) ) )

Kimenet

 Írjon be 4 számot: 2 3 4 5 Megjelenítés: 2 3 4 5 

Megjegyzés: A C programozásban átadhat tömböket a funkcióknak, azonban nem adhat vissza tömböket a függvényekből.

érdekes cikkek...