פורסם 2011 במאי 2414 שנים היי,יש לי בעיה בתוכנית עם משתנה מסוג int.התוכנית כוללת משחק בין 2 משתתפים. המשתנה int מאותחל בהתחלה ל-0, וכשמגיע תורו של שחקן 1 לשחק - בסוף התור המשתנה הופך לערך 2. וכן הלאה.. מגיע תורו של שחקן 2, ובסוף התור ה-int הופך לערך 1 כדי שבפעם הבאה יהיה תורו של שחקן 1.הבעיה היא שבאמצע התכנית ה-int הופך ל-NULL מסיבה כלשהי שאינני מצליח להבין. כאילו היה משתנה דינאמי ששוחרר...האם יש תופעות לוואי כלשהן ב-C שאני פשוט לא מדוע אליהן?(הקוד נכתב בסי ולא בסי++)תודה מראש,גלעד
פורסם 2011 במאי 2414 שנים null זה רק למצביעים. int לא יכול להיות null, הוא יכול להיות 0.אין שום "תופעות לוואי", יש באגים. יכול להיות שיש לך דריסת זכרון, יכול להיות שאתה משתמש במשתנים בצורה לא נכונה (לדוגמה, כשאתה משנה את ערכו של פרמטר לפונקציה בתוך הפונקציה ומצפה שהוא ישתנה גם מחוץ לה).קצת קשה לדעת מה הבעיה בלי לראות את הקוד שלך.
פורסם 2011 במאי 2414 שנים כמו שכתב קודמי יש כל מיני בעיות לדוגמת דריסת זיכרון שיכולות לגרום למצב הזהמה שהייתי ממליץ לך לעשות זה לקבוע נקודת עצירה מיוחדת בגישה לזיכרוןבvisual c++ זה נקרא data breakpointככה שהתוכנית שלך תרוץ וברגע שהמשתנה בכתובת הזיכרון שנקבעה נכתבהתוכנית תעצר
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.