Menu
Coddy logo textTech

מערכים כארגומנטים לפונקציות

חלק מהיחידה יסודות במסלול ה-C של Coddy. שיעור 58 מתוך 63.

אפשר להעביר מערכים לפונקציות ב-C כארגומנטים. כשמערך מועבר לפונקציה, מה שמועבר בפועל הוא כתובת הזיכרון של האיבר הראשון.

הצהירו על מערך ועל פונקציה שמקבלת אותו כארגומנט:

void displayArray(int arr[], int size) {
    for(int i = 0; i < size; i++) {
        printf("%d ", arr[i]);
    }
    printf("\n");
}

צרו מערך וקראו לפונקציה:

int numbers[5] = {10, 20, 30, 40, 50};
displayArray(numbers, 5);

כשמעבירים מערך לפונקציה, שינויים שנעשים במערך בתוך הפונקציה ישפיעו על המערך המקורי:

void doubleValues(int arr[], int size) {
    for(int i = 0; i < size; i++) {
        arr[i] = arr[i] * 2;
    }
}

// קרא לפונקציה
doubleValues(numbers, 5);
// כעת numbers מכיל: {20, 40, 60, 80, 100}
challenge icon

אתגר

קל

צרו פונקציה בשם sumArray שמקבלת שני ארגומנטים:

  • מערך של מספרים שלמים (arr).
  • מספר שלם (size) שמייצג את גודל המערך.

הפונקציה צריכה לחשב ולהחזיר את סכום כל האיברים במערך.

לאחר מכן, בפונקציה הראשית:

  1. קראו מספר שלם n (גודל המערך).
  2. קראו n מספרים שלמים ואחסנו אותם במערך.
  3. קראו לפונקציה sumArray עם המערך.
  4. הדפיסו את הסכום בפורמט: "Sum: X" (כאשר X הוא הסכום).

נסו בעצמכם

#include <stdio.h>

// כתבו כאן את הפונקציה sumArray שלכם

int main() {
    int n;
    scanf("%d", &n);
    
    int arr[n];
    for(int i = 0; i < n; i++) {
        scanf("%d", &arr[i]);
    }
    
    // קראו לפונקציה sumArray והדפיסו את התוצאה
    
    return 0;
}
quiz iconבחנו את עצמכם

השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.

כל השיעורים ביחידה יסודות

תרגלו בעצמכם: קומפיילר C אונליין