PDA

צפייה בגרסה מלאה : מדריך מערכים (Arrays) בשפת C



Tamir
06-09-2024, 11:17 PM
מערכים (Arrays) בשפת C


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


הגדרת מערך


ניתן להגדיר מערך בשפת C על ידי ציון סוג הנתונים, שם המערך ומספר האיברים במערך. לדוגמה:



c
int numbers[5]; // הגדרת מערך של 5 מספרים שלמים



מערך זה מאחסן 5 מספרים שלמים מסוג `int`. מספר האיברים במערך הוא קבוע ולא ניתן לשינוי לאחר ההגדרה.


אתחול מערך


ניתן לאתחל מערך בעת ההגדרה על ידי ציון הערכים הרצויים:



c
int numbers[5] = {1, 2, 3, 4, 5}; // אתחול מערך עם 5 ערכים



אם אינך מאתחל את כל הערכים במערך, הערכים שלא מאותחלים יוגדרו לאפס (0):



c
int numbers[5] = {1, 2}; // 1, 2, 0, 0, 0



גישה לאיברים במערך


ניתן לגשת לאיבר במערך על ידי שימוש באינדקס שלו. האינדקס מתחיל מ-0, כך שהאיבר הראשון במערך הוא באינדקס 0, האיבר השני באינדקס 1, וכן הלאה.


לדוגמה:



c
#include <stdio.h>


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


// גישה לאיברים במערך
printf("First element: %d\n", numbers[0]); // הדפסת האיבר הראשון
printf("Second element: %d\n", numbers[1]); // הדפסת האיבר השני


// שינוי ערך של איבר במערך
numbers[2] = 100;
printf("Third element after change: %d\n", numbers[2]); // הדפסת האיבר השלישי לאחר שינוי


return 0;
}



לולאות ומערכים


ניתן לעבור על כל איברי המערך בעזרת לולאות, כגון `for` או `while`:



c
#include <stdio.h>


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


// מעבר על כל איברי המערך עם לולאת for
for (int i = 0; i < 5; i++) {
printf("Element %d: %d\n", i, numbers[i]);
}


return 0;
}



בקטע הקוד הזה, אנו עוברים על כל האיברים במערך בעזרת לולאת `for` ומדפיסים כל איבר לפי האינדקס שלו.


מערכים רב-ממדיים


ניתן להגדיר מערך בעל יותר מממד אחד. לדוגמה, מערך דו-ממדי שמייצג מטריצה:



c
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}}; // הגדרת מערך דו-ממדי



גישה לאיברים במערך דו-ממדי מתבצעת באמצעות שני אינדקסים:



c
#include <stdio.h>


int main() {
int matrix[2][3] = {{1, 2, 3}, {4, 5, 6}};


// גישה לאיברים במערך דו-ממדי
printf("Element at (0, 0): %d\n", matrix[0][0]);
printf("Element at (1, 2): %d\n", matrix[1][2]);


return 0;
}



סיכום


במדריך זה למדנו על מערכים (Arrays) בשפת C, כולל הגדרה, אתחול, גישה לאיברים, שימוש בלולאות עם מערכים, ומערכים רב-ממדיים. עבודה נכונה עם מערכים חשובה לניהול נתונים יעיל בתוכנית.


אם יש לכם שאלות נוספות, אתם מוזמנים לשאול! ?