מערכים ופונקציות
חלק מהיחידה יסודות במסלול ה-C++ של Coddy. שיעור 62 מתוך 74.
אי אפשר להעביר מערכים ישירות לפונקציות כמערכים שלמים. כשמנסים להעביר מערך לפונקציה, הוא "מתנוון" למצביע לאיבר הראשון שלו.
לדוגמה:
int numbers[5] = {1, 2, 3, 4, 5};
void processArray(int arr[]) {
int size = std::size(arr);
}std::size(arr) לא יחזיר לך את הגודל האמיתי של המערך. כאן arr הוא למעשה מצביע, ולא מערך. תלמדו על מצביעים בקורס הבא.
לכן, כשמעבירים מערכים לפונקציות, בדרך כלל צריך להעביר את הגודל כפרמטר נפרד:
void processArray(int arr[], int size) {
// כעת אפשר לעבוד בבטחה עם המערך באמצעות הפרמטר size
}כך קוראים לפונקציה:
int numbers[5] = {1, 2, 3, 4, 5};
processArray(numbers, 5);כמו כן, אי אפשר להחזיר מערך מפונקציה:
int[] processArray(int arr[]) {
return arr;
}הדבר אינו חוקי. במקום זאת, עליך להשתמש בתחביר *:
int* processArray(int arr[]) {
return arr;
}
int* newArr = processArray(arr);תחביר הכוכבית (*) מתייחס למצביעים שיידונו בקורס הבא.
נסו בעצמכם
השיעור הזה לא כולל אתגר קוד.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה יסודות
4אופרטורים חלק 1
אופרטורים אריתמטייםאופרטור מודולוהגדלה/הקטנההגדלה/הקטנה לאחר הפעולהקיצורים אריתמטייםאופרטורי השוואההשוואת מחרוזותתרגלו בעצמכם: קומפיילר C++ אונליין