מערך הוא מבנה נתונים המשמש לאחסון פריטים עוקבים מאותו סוג נתונים. המיקום של אלמנט ברצף נקרא אינדקס. אינדקסים מתחילים מ 0 עד (n-1).

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

הגדרת מערכים

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

גיל int [8];

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

גיל int [8], גובה [8];

אפשר גם להכריז על מערך להלן:

int [8] גיל;

התחביר לעיל אומר זאת גיל הוא מצביע למערך מסוג int. למרות שאתה יכול להשתמש ב"תחביר המצביע ", עדיף הראשון.

קָשׁוּר: כיצד להציג את טבלת הכפל של מספר באמצעות Python, C ++, JavaScript ו- C

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

גיל int [];

פעולות במערכים

כדי להתייחס לאלמנט מערך, כתוב את שם המערך ואחריו האינדקס שלו בסוגריים מרובעים (למשל. גיל [5]). תוכל גם להשתמש במשתנים בתוך הסוגריים המרובעים:

instagram viewer
גיל [x+y]

עליך לוודא שהחישוב של משתנים אלה הוא בטווח 0 עד (n-1). אחרת, תקבל שגיאת הידור.

אִתחוּל

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

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

#לִכלוֹל 
int main (void) {
printf ("%s%11s
"," אלמנט "," ערך ");
int n [4] = {1, 4, 9, 16};
// רכיבי מערך פלט בפורמט טבלאי
עבור (size_t i = 0; i <4; ++ i) {
printf ("%5u%10d
", i, n [i]);
}
}

תְפוּקָה:

ערך אלמנט
0 1
1 4
2 9
3 16

שימוש במערכים לאחסון מחרוזות

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

פרי חרוך [] = ['ב', 'ה', 'ר', 'ר', 'י', '\ 0'];

שימו לב ש לְהַשְׁחִיר נעשה שימוש בסוג הנתונים. מחרוזת מילולית בעצם מורכבת מדמויות בודדות, ובגלל זה אתה רואה לְהַשְׁחִיר.

קָשׁוּר: כיצד ללמוד תכנות C ++: 6 אתרים להתחלת העבודה

המערך המוצג מסתיים ברצף בריחה (\0). זהו תו סיום מחרוזת הנקרא תו null. עליך לכלול זאת תמיד בעת אתחול רשימת מערכים.

למעשה יש דרך פשוטה יותר לאתחול מערך תווים. ראשית הראנו את הגישה הקודמת כדי שתדע שלמערך תווים תמיד יש תו סיום מיוחד (\0). זוהי שגיאה נפוצה של מתכנתים מתחילים שיש להם גודל מערך פחות אחד, ושוכחים את האלמנט האחרון (\0).

char string1 [5] = "קוד";

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

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

להשתמש ב %s מציין ההמרות כדי להגדיר את הקלט המרבי הצפוי. ה scanf הפונקציה תקרא את כל התווים שהוזנו עד להיתקל ברווח, בכרטיסייה, בשורה חדשה או בחיווי סוף הקובץ.

קידום תכנות C שלך

המשאבים שבהם אתה משתמש כדי ללמוד הם חיוניים לא פחות מהלהיטות שלך ללמוד. למידה ללא תרגול טוב תהפוך את מסע התכנות שלך למאתגר.

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

לַחֲלוֹקצִיוּץאימייל
השתמש במשאבי ההדרכה הללו לתכנות Master C עוד היום

האם אי פעם רצית שתדע כיצד לבצע תכנות בסיסי ב- C? עכשיו אתה יכול בזכות צרור ההדרכה הזה.

קרא הבא

נושאים קשורים
  • תִכנוּת
  • C תכנות
  • תִכנוּת
  • שפות תכנות
על הסופר
ג'רום דוידסון (פורסמו 23 מאמרים)

ג'רום הוא כותב צוות ב- MakeUseOf. הוא מכסה מאמרים בנושא תכנות ולינוקס. הוא גם חובב קריפטו ותמיד עוקב אחרי תעשיית הקריפטו.

עוד מאת ג'רום דוידסון

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים, סקירות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

לחצו כאן להרשמה