Odošlite polia funkcii v C.

V tomto tutoriáli sa naučíte pomocou príkladov odovzdávať polia (jednorozmerné aj viacrozmerné polia) funkcii v programovaní v jazyku C.

V programovaní C môžete funkciám odovzdať celé pole. Skôr ako sa to dozvieme, pozrime sa, ako môžete jednotlivým prvkom poľa odovzdať funkcie.

Odovzdávanie jednotlivých prvkov poľa

Predávanie prvkov poľa do funkcie je podobné ako odovzdávanie premenných do funkcie.

Príklad 1: Predanie poľa

 #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; ) 

Výkon

 8 4 

Príklad 2: Predávanie polí funkciám

 // 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; )

Výkon

 Výsledok = 162,50

Ak chcete funkcii odovzdať celé pole, ako argument sa odovzdá iba názov poľa.

 result = calculateSum(age);

Všimnite si však použitie ()v definícii funkcie.

 float calculateSum(float age()) (… )

Toto informuje kompilátor, že funkcii odovzdávate jednorozmerné pole.

Posielanie viacrozmerných polí do funkcie

Na odovzdanie viacrozmerných polí do funkcie sa funkcii odovzdá iba názov poľa (podobne ako jednorozmerné polia).

Príklad 3: Prechádzanie dvojrozmerných polí

 #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)); ) ) )

Výkon

 Zadajte 4 čísla: 2 3 4 5 Zobrazujem: 2 3 4 5 

Poznámka: V programovaní C môžete maticiam odovzdávať funkcie, avšak nemôžete ich vracať z funkcií.

Zaujímavé články...