ההבדל בין מערך למצביע

תוכן עניינים:

Anonim

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

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

מערך, מצביע

מהו מערך

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

איור 1: מערך

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

מספרים int [50];

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

מספרים [1] = 30;

ההצהרה לעיל תקצה ערך 30 ל -1רחוב אינדקס מערך המספרים.

לדוגמה, הממוצע הכפול [10]; תיצור מערך הנקרא ממוצע. הוא יכול לאחסן 10 ערכים כפולים.

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

מהו מצביע

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

איור 2: מצביע

מצביע הוא משתנה המאחסן את הכתובת של משתנה אחר. המצביע מוכרז לפני אחסון כתובת משתנה. הכוכבית * משמשת להצהרת מצביע.

int *ptr;

ה- ptr הוא מצביע למשתנה שלם.

כפול *ptr1;

Ptr1 הוא מצביע למשתנה כפול. עיין בקוד הבא.

איור 3: תוכנית עם מצביעים

המשתנה 'a' מכיל את הערך 20. ה- ptr הוא מצביע למספר שלם. בשורה 8, ptr מוקצה עם הכתובת של המשתנה a. עכשיו ptr מצביע על a. לכן, הדפסת הערך שמצביע על ידי ptr תיתן את הערך של a.

אם אין להקצות כתובת, ניתן להקצות את המצביע עם ערך NULL. מצביע מסוג זה נקרא מצביע null.

int *ptr = NULL;

הקשר בין מערך למצביע

עיין בתוכנית שלהלן.

איור 4: מערכים עם מצביעים

יש מערך שנקרא arr. הוא מכיל 5 מספרים שלמים. ה- ptr הוא מצביע למספר שלם. בשורה 8, arr מוקצה ל- ptr. לכן, ה- ptr מצביע על רכיב המדד ה -0 של המערך. הדפסת הערך של ptr תציג את הערך 0ה אלמנט אינדקס. זה 10.

ההבדל בין מערך למצביע

הַגדָרָה

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

בָּסִיס

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

תחביר

תחביר מערך - סוג נתונים מערך שם [סוג נתונים];

תחביר המצביע - סוג נתונים * variable_name;

נוֹהָג

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

סיכום

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

התייחסות:

1. "מערכים בג '" Www.tutorialspoint.com, נקודת הדרכה, זמין כאן.2. "מצביעים ב- C." Www.tutorialspoint.com, נקודת הדרכה, זמינה כאן.

באדיבות התמונה:

1. "מערך תכנות CPT" מאת פלוק-עבודה משלו (CC0) באמצעות Commons Wikimedia2. "מצביעים" מאת קובץ זה נוצר על ידי משתמש: SvenTranslation עבודה משלו (CC BY-SA 3.0) באמצעות Commons Wikimedia

ההבדל בין מערך למצביע