חשבון אריתמטי - השמה
שיעור 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 מצביע אליו.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
אתגר
קלבקלט הסטנדרטי יינתנו לך 2 מספרים. קלט אותם למשתנים לבחירתך; החלק החשוב הוא ליצור מצביע שלם בשם *ptr ולאתחל אותו כך שיצביע על המספר הראשון. לאחר מכן, הקצה למצביע את הערך של המספר השני באמצעות ביצוע dereference שלו, והדפס את ערכו לפלט הסטנדרטי
נסו בעצמכם
#include <iostream>
using namespace std;
int main()
{
// הכניסו את הקוד שלכם
return 0;
}כל השיעורים ביחידה מצביעים ב-C++
1יסודות המצביעים
מבוא למצביעיםהצהרה ואתחולחשבון אריתמטי - השמהחשבון אריתמטי - פעולותמצביעי constמצביעים ומערכיםתרגלו בעצמכם: קומפיילר C++ אונליין