שאלה על רשימה מקושרת

שאלה על רשימה מקושרת

אני לא מצליח להבין איך עובדת הרשימה.. יותר נכון ההגדרה הספציפית הזאת שהמורה בביצפר לימדה:
typedef int list_info_type; typedef struct { list_info_type info; link_type *next } link_type; typedef link_type *pos_type; typedef struct { pos_type anchor; } list_type;​
אני לא מבין מה זה הPOS_TYPE .. מה הוא עושה.. למה העוגן ANCHOR הוא מסוג POS_TYPE ומה זה אומר? שהעוגן הופך בעקיפין למצביע ל-LINK TYPE? אם מישהו יכול להבהיר לי את העניין אני יהיה אסיר תודה!
 

אלדד28

New member
הסבר

link_type הוא struct המכיל את ה-data של הרשימה (נניח מספר) ומצביע לאיבר הבא. pos_type הוא מצביע ל-link_type. זה שם אחר ל-* link_type, פשוט. העוגן לא הופך בעקיפין למצביע ל-link_type - הוא בדיוק מצביע ל-link_type. בכל מקום שבו כתוב pos_type בתוכנית אפשר להחליף אותו ב-* link_type. אני מניח שהמורה שלך לימדה את זה כי היא חושבת שיותר קל להסתכל על זה ככה אחר כך. זה "כאילו" להעלים את המצביע, כי בתוכנית תשתמש ב-pos_type ולא ב-* link_type שהוא מעט יותר מועד לתאונות.
 
למעלה