Menu
Coddy logo textTech

חשבון אריתמטי - השמה

שיעור 3 מתוך 14 בקורס מצביעים ב-C++ של Coddy.

אפשר לבצע פעולות אריתמטיות/מתמטיות על מצביעים, כמו על משתנים וסוגי נתונים אחרים.

השמת ערכים

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

int var = 5;
int *ptr = &var;
int *newPtr = ptr;
cout << "Pointer address: " << ptr << endl;
cout << "2nd pointer address: " << newPtr;
Output:
Pointer address: 0x7fffca8285cc
2nd pointer address: 0x7fffca8285cc

הערך של המצביע ptr הושם בתוך newPtr, וכעת שני המצביעים מצביעים על אותו משתנה var, או על כתובת הזיכרון שמכילה את הערך 5

int x = 10;
int *ptr = &x;
int *newPtr = ptr;
cout << "x = " << x << endl;
cout << "ptr = " << ptr << endl;
cout << "*ptr = " << *ptr << endl;
*newPtr = 25;
cout << "x = " << x << endl;
cout << "newPtr = " << newPtr << endl;
cout << "*newPtr = "<< *newPtr;
Output:
x = 10
ptr = 0x7ffe28364c9c
*ptr = 10
x = 25
newPtr = 0x7ffe28364c9c
*newPtr = 25

כפי שאפשר לראות, יש לנו את המשתנה השלם x שערכו 10. אנו מצהירים על המצביעים ptr ו-newPtr כך שיצביעו על אותו משתנה x, ואפשר להבחין בכך אם מסתכלים על כתובות הזיכרון. כעת שינינו את הערך של *newPtr ל-25, והדבר שינה אוטומטית את הערך של x, מכיוון ש-newPtr מצביע אליו.

quiz iconבחנו את עצמכם

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

quiz iconבחנו את עצמכם

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

quiz iconבחנו את עצמכם

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

challenge icon

אתגר

קל

בקלט הסטנדרטי יינתנו לך 2 מספרים. קלט אותם למשתנים לבחירתך; החלק החשוב הוא ליצור מצביע שלם בשם *ptr ולאתחל אותו כך שיצביע על המספר הראשון. לאחר מכן, הקצה למצביע את הערך של המספר השני באמצעות ביצוע dereference שלו, והדפס את ערכו לפלט הסטנדרטי

נסו בעצמכם

#include <iostream>

using namespace std;

int main()
{
    
    // הכניסו את הקוד שלכם
    
    return 0;
}

כל השיעורים ביחידה מצביעים ב-C++

תרגלו בעצמכם: קומפיילר C++ אונליין