מה החסרון של שימוש במצביעים בשפת C?

חסרון אחד שאני יודע זה שאם אתה עושה טעות תוך כדי טיפול במצביעים זה עשוי אפילו להוביל לקריסה של המערכת שלך ....
 
sundarmeenakshi, השגיאות הערמומיות ביותר להתרחש עם מצביעים מאותחלים. תניח שמצביע יש ערך אקראי. אתה לאחסן נתונים ולשלוף אותו באמצעות המצביע. 1) * מצביע = x. 2) x = * מצביע. זה עובד בסדר גמור, כל עוד כתובת (אקראי) מיוצגת על ידי המצביע אינה משמשת לשום דבר אחר. אם הכתובה משמשת למשהו אחר, אז שנתונים (או הוראה) במיקום המיוצג על ידי המצביע יושמדו על ידי ביצוע ההוראה 1 לעיל. עכשיו, הנה מגיע חלק הכיפי: תניח שאתה מוסיף הצהרת printf כדי לנסות לדבג את הבעיה. לאחר recompilation, הכתובת האקראית מיוצגת על ידי המצביע משמשת להחזיק עוד פיסת מידע או הדרכה, והבעיה המקורית נעלמה, ומופיעה במקום אחר בתכנית שלך. . השימוש במשמעת מצביעי requries. כלל מספר אחד הוא "aways לאתחל מצביעים". אם אתמזל מזלך, complier יהיה לאתחל את ערך המצביע לnull (אפס), אשר יגרום לשגיאה בזמן ריצה ברוב הסביבות. בברכה, קראל
 
ההתייחסות שלהם תהיה חסרונות של מצביעים, אם אתה לא מטפל בם כראוי. ובמקרים מסוימים ייתכן שלא יהיו קל יותר לאתר באגים.
 
הם קלים להבנה, אך לא להשתמש כראוי. אם אתה נותן struct לפונקציה ואם פרמטר struct שהוא גדול, באמצעות מצביע שתשתמש בפחות זיכרון לתכנית, מפעיל אותו מהר יותר. אותו מתרחש עם מערכים. אני חושב שהמצביעים הם חיוניים למתכנת בגלל מהירות וגודל.
 
מצביעים הם מאוד חזקים שמאפשרים לך לכתוב קוד יעיל ומהיר. הם אחד מנקודתי החוזק של שפת C. קוד C בלי מצביעים הוא כמו בירה בלי alcahol, שפע של גוף, אך לא oomph. אין חסרונות למצביעים בג
 
הייתי עצת btbass להעיף מבט דרך בכל ספר הוא לומד .... כאשר מצביע אינו intialised כראוי או טופל כראוי אתה יכול להיות סמוך ובטוח שמשהו רע יקרה למחשב ur .... תכנית אמורה להיות בטוח תחת כל הנסיבות ....
 
אם המצביע החל מצביע לעבר זיכרון שמור מערכת אז זה עלול לגרום unstability sytem. כמו חלונות יש אזור מסוים בזכרון RAM שמור עבור מערכת הפעלה, אם מצביע הופך cahnges לאזור זה ואז זה יהיה כמו וירוס מבצע. כחלק מדברים מצחיקים לפתוח התקליטור שלנו, כי הוא פשוט על ידי גישת תחום זה
 
זה פשוט קל לפשל בכל היבט של תכנית, שימוש במשתני unintialised, ערבוב שלם חתומה ולא חתום, לא מושך את החריגים, מצביעים הם לא יותר קלים לפשל יותר מכל תכונה אחרת. מצביעים לעזור לך לכתוב קוד יעיל ואלגנטי. כשאני כותב תכנית למחשב, אני משתמש C #, שפת תכנות מודרנית המתגברת על הרבה מהמחדלים כי קלים לפספס. אבל הרבה תכנות כרוך 8 מייקרו קצת, ו-C הוא המלך עבור סוג זה של יישום. אני גם משתמש בניתוח סטטי של הקוד שלי באמצעות מוך. מוך ימצא כל מיני חרקים מעורפלים. אם הקוד שלך מתרסק בגלל מצביעי uninitialised, זה לא אשמתו של ג! אבל היעדר הבדיקה הנאותה שלך. מצביעים באמצעות צריכים לעודד, הם נותנים ג הקצה שלה.
 
אתה גם צריך לוודא שאתה התייחסות וdereference propoerly, אחרת אתה תהיה באמצעות הכתובה במקום את הנתונים.
 

Welcome to EDABoard.com

Sponsor

Back
Top