כל מה שאתה צריך לדעת על מצביעים ב- C



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

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

להלן העצות המפורטות במאמר זה,





  1. מהו מצביע?
  2. מפעילי הפניה והפניה
  3. סוגי מצביעים
  4. כיצד להשתמש במצביע

נתחיל עם החלק הראשון של המצביע הזה במאמר C,

מצביעים ב- C

מהו מצביע?

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



בואו נבין שזה תחביר ונסתכל על דוגמא

Data_Type * שם מצביע

דוגמא: int * ptr

להלן החלק הבא במאמר המצביעי ב- C



מפעילי הפניה והפניה

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

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

דוגמא

int * ptr int a ptr = & a

כתובת המשתנה 'a' נשמרת במשתנה ptr.

עכשיו, בואו ונבין את אופרטור דה-הפניה או 'ערך ב-' המסומן בכוכבית (*). זה עוזר באחזור הערך ממיקום הזיכרון המאוחסן במשתנה המצביע

דוגמא

int * ptr int a * ptr = & a printf ('ערך a =% dn', * ptr)

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

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

לשלוט בהצהרות זרימה ב- Java

מצביע אפס

ערך null מוקצה למצביע כאשר אינך בטוח איזו כתובת יש להקצות. ניתן לעשות זאת על ידי הקצאת ערך 'NULL' למצביע בזמן ההכרזה. הערך של המצביע הזה הוא 0.

int * ptr = NULL

מצביע פראי

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

מצביע משתלשל

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

כיצד להשתמש במצביע

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

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

int main () {int First_array [10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10} / * המערך שלנו בו נבצע פעולות * / int * ptr / * מצביע * / ptr = First_array / * הקצה את כתובת המערך למשתנה המצביע * / עבור (int i = 0 i<10 i++) /*Performing operations*/ { printf('Value of *ptr variable = %dn', *ptr) printf('Value of ptr variable = %pnn', ptr) ptr++ } } 

תְפוּקָה

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

#include #include int main () {char str [] = 'שלום עולם' / * יצירת מערך * / char * p / * מצביע * / p = str printf ('הדפסת כל התווים במחרוזות שלנו') p = str עבור (int i = 0i


עם זה אנו מגיעים לסופו של הבלוג הזה על 'מצביעים ב- C'. אני מקווה שמצאת זאת אינפורמטיבי ומועיל, הישאר מעודכן לקבלת הדרכות נוספות בנושאים דומים. תוכל גם לבדוק את תוכנית ההדרכה שלנו
תוכל לקבל ידע מעמיק ב- jQuery יחד עם היישומים השונים שלה לאימונים מקוונים חיים עם תמיכה 24/7 וגישה לכל החיים.יישם את הקוד שלעיל בעזרת מחרוזות ושינויים שונים. כעת, אנו מבינים היטב את כל מושגי המפתח הקשורים למצביע.

יש לך שאלה עבורנו? הזכר אותם במדור התגובות בבלוג זה ונחזור אליך.