ההבדל בין מצביע להתייחסות
מְחַבֵּר:
Laura McKinney
תאריך הבריאה:
1 אַפּרִיל 2021
תאריך עדכון:
5 מאי 2024
תוֹכֶן
שניהם "מצביע" ו"הפניה "משמשים כדי להפנות או להפנות משתנה אחר. אבל, ההבדל הבסיסי בין שניהם הוא שמשתנה מצביע מצביע על משתנה שמיקום הזיכרון שלו מאוחסן בו. משתנה הייחוס הוא כינוי למשתנה המוקצה לו. תרשים ההשוואה להלן בוחן את ההבדלים האחרים בין מצביע להתייחסות.
- טבלת השוואה
- הגדרה
- הבדלים עיקריים
- סיכום
טבלת השוואה
בסיס להשוואה | מצביע | התייחסות |
---|---|---|
בסיסי | המצביע הוא כתובת הזיכרון של משתנה. | הפניה היא כינוי למשתנה. |
החזרות | משתנה המצביע מחזיר את הערך שנמצא בכתובת המאוחסנת במשתנה המצביע שקודם לו סימן המצביע *. | משתנה הייחוס מחזיר את הכתובת של המשתנה שקדם לו סימן הייחוס &. |
מפעילים | *, -> | & |
הפניה Null | משתנה המצביע יכול להתייחס ל- NULL. | משתנה ההתייחסות לעולם לא יכול להתייחס ל- NULL. |
אתחול | ניתן ליצור מצביע שאינו מאתחל. | לעולם לא ניתן ליצור הפניה לא אתחול. |
זמן האתחול | ניתן לאתחל את משתנה המצביע בכל נקודת זמן בתכנית. | ניתן לאתחל את משתנה ההתייחסות רק בעת יצירתו. |
אתחול מחדש | ניתן לאתחל מחדש את משתנה המצביע פעמים רבות ככל שיידרש. | לעולם לא ניתן לאתחל מחדש את משתנה הייחוס בתוכנית. |
הגדרת פוינטר
"מצביע" הוא משתנה המחזיק את מיקום הזיכרון של משתנה אחר. המפעילים המשמשים את משתנה המצביע הם * ו ->. ההצהרה על משתנה המצביע מכילה את סוג נתוני הבסיס ואחריה הסימן '*' ושם המשתנה.
סוג * var_name;
הבה להבין את המצביע בעזרת דוגמא.
int a = 4; int * ptr = & a; ואילו, מפעיל הפניה הוא &.
פתק:
ג'אווה לא תומך במצבים.
סיכום
המצביע והתייחסות שניהם משמשים כדי להפנות או להפנות משתנה אחר. אך שניהם נבדלים זה מזה בשימוש בהם וביישומם.