מאמר זה מספק מדריך למציאת כתובת הזיכרון של משתנה ב-C++.
כיצד לקבוע את כתובת הזיכרון של משתנה ב-C++
ב-C++, קיימות שתי שיטות לקביעת כתובת הזיכרון של משתנה:
שיטה 1: מצא את כתובת הזיכרון של המשתנה באמצעות 'כתובת של' ומפעיל
כאשר אנו נדרשים לקבוע את כתובת הזיכרון של משתנה, אנו יכולים להשתמש ב- 'כתובת המפעיל' (&) , שמחזירה את כתובת המשתנה. כדי להציג כתובת של משתנה, השתמש '&' יחד עם שם המשתנה.
הבה נשתמש בתוכנית לדוגמה כדי להדגים זאת:
#include
באמצעות מרחב שמות std ;
int רָאשִׁי ( )
{
int מספר 1 ;
לָצוּף מספר 2 ;
string str ;
cout << 'אנא הזן ערך שלם כדי למצוא את כתובת הזיכרון שלו: ' ;
אֲכִילָה >> מספר 1 ;
cout << 'המספר שהוזן הוא:' << מספר 1 << endl ;
cout << 'כתובת של ' << מספר 1 << 'הוא:' <<& מספר 1 << endl ;
cout << 'אנא הזן ערך עשרוני כדי למצוא את כתובת הזיכרון שלו: ' ;
אֲכִילָה >> מספר 2 ;
cout << 'המספר שהוזן הוא:' << מספר 2 << endl ;
cout << 'כתובת של ' << מספר 2 << 'הוא:' <<& מספר 2 << endl ;
cout << 'אנא הזן מחרוזת כדי למצוא את כתובת הזיכרון שלה: ' ;
אֲכִילָה >> str ;
ל ( int אני = 0 ; אני < str. אורך ( ) ; ++ אני )
cout << 'כתובת של ' << str [ אני ] << 'הוא:' << ( בָּטֵל * ) & str [ אני ] << endl ;
לַחֲזוֹר 0 ;
}
התוויות המשתנות שלנו בתוכנית שלמעלה הן num1, num2 ו-str, עם סוגי נתונים של int, float ו-string, בהתאמה. האופרטור '&' משמש עם שם המשתנה כדי למצוא את כתובת הזיכרון שלו. יש לציין כי הפלט המספק את כתובת המשתנה הוא מספר שנוצר באקראי.
שיטה 2: מצא את כתובת הזיכרון של המשתנה באמצעות מצביע
ב-C++ ניתן לקבל גם כתובות משתנות באמצעות מצביעים. משתנה המחזיק כתובת של משתנה אחר מכונה מצביע. מצביע משמש כמו כל משתנה אחר שיש לציין לפני שניתן יהיה להשתמש בו. מצביע מוגדר ב-C++ עם ה- '*' אופרטור, המכונה לפעמים אופרטור הכוכבית.
בואו נסתכל על תוכנית לדוגמה למציאת כתובת זיכרון באמצעות מצביע:
#include#include
באמצעות מרחב שמות std ;
int רָאשִׁי ( ) {
int מספר 1 ;
int * ptr_num1 = & מספר 1 ;
לָצוּף מספר 2 ;
לָצוּף * ptr_num2 = & מספר 2 ;
string str ;
cout << 'אנא הזן ערך שלם כדי למצוא את כתובת הזיכרון שלו: ' ;
אֲכִילָה >> מספר 1 ;
cout << 'המספר שהוזן הוא:' << מספר 1 << endl ;
cout << 'כתובת של ' << מספר 1 << 'הוא:' << ptr_num1 << endl ;
cout << 'אנא הזן ערך עשרוני כדי למצוא את כתובת הזיכרון שלו: ' ;
אֲכִילָה >> מספר 2 ;
cout << 'המספר שהוזן הוא:' << מספר 2 << endl ;
cout << 'כתובת של ' << מספר 2 << 'הוא:' << ptr_num2 << endl ;
cout << 'אנא הזן מחרוזת כדי למצוא את כתובת הזיכרון שלה: ' ;
אֲכִילָה >> str ;
ל ( int אני = 0 ; אני < str. אורך ( ) ; אני ++ ) {
cout << 'כתובת של ' << str [ אני ] << 'הוא:' << ( בָּטֵל * ) & str [ אני ] << endl ;
}
לַחֲזוֹר 0 ;
}
התוויות המשתנות בתוכנית זו הן num1, num2 ו-str, עם סוגי נתונים של int, float ו-string, בהתאמה. כתובת המשתנה נקבעת באמצעות המצביע יחד עם שם המשתנה. יש לציין כי הפלט המספק את כתובת המשתנה הוא מספר שנוצר באקראי.
סיכום
כאשר אנו מכריזים על משתנה מסוג נתונים כלשהו ב-C++, הוא מקבל מיקום זיכרון על ידי מערכת ההפעלה. מיקום זיכרון זה הוא מספר שרירותי שאינו יכול להיות שלילי והוא ידוע ככתובת המשתנה. ידיעת כתובת הזיכרון של משתנה יכולה להיות שימושית בתרחישי תכנות מסוימים. במאמר זה הדגמנו שתי שיטות, ה כתובת המפעיל(&) ו משתני מצביע , כדי לקבוע את כתובת הזיכרון של משתנה ב-C++ יחד עם דוגמאות פשוטות.