שפת C/מצביעים: הבדלים בין גרסאות בדף

תוכן שנמחק תוכן שנוסף
שורה 81:
כעת, לאחר שראינו את מבנה הזיכרון, הבה נחזור חזרה ל[[שפת C/מצביעים#שינוי ארגומנטים על ידי פונקציות|ניסיון הכושל לכתיבת swap]] שראינו. נניח שהמשתנה a מכיל את התו 'a', והמשתנה b מכיל את התו 'b'. המשתנים a ו-b יושבים במקומות כלשהם בזיכרון. כאשר נקרא לפונקציה swap, ייווצרו המשתנים x ו-y '''במקומות אחרים לחלוטין בזיכרון''', וערכי המשתנים a ו-b יועתקו אליהם בהתאמה. הזיכרון עשוי להראות כך:
[[תמונה:C_language_wrong_swap_before_example.png|מרכז|100%|מצביע למשתנה תו.]]
בסוף הפונקציה, אכן מוחלפים ערכיהם של x וyו-y:
[[תמונה:C_language_wrong_swap_after_example.png|מרכז|100%|מצביע למשתנה תו.]]
כעת ברור מדוע אין לכך שום השפעה על ערכי a וbו-b.
 
==מהם מצביעים?==