פורסם 2014 בינואר 2711 שנים זה לא נותן לי לכתוב פה את הקוד זה מעביר אותי להודעה לפנות לאדמין[TABLE][TR][TD]Dear surfer,The request you just sent was invalid,Please contact your website administrator for more information.Best regards,sPD.co.il Administration[/TD][/TR][/TABLE]נקווה שתבינו ככה מה עשיתי:הפוקנציה היא מטיפוס int* והיא מקבל מערךמוסיפה לכל הערכים 1 ומחזירה את המערך :return newarrayאחרי זה אני מגדיר עוד מצביע מטיפוס int ועושה שהוא שווה לפונקציה ואז לולאת for שמציגה pointerכשהערכים של המערך הם 1'2'3'4'5והתוצאה היא שהפלט הוא: 2,-8546556,עוד מספרים לא קשורים נערך 2014 בינואר 2711 שנים על-ידי RonCohen
פורסם 2014 בינואר 2711 שנים תדביק את הקוד באתר חיצוני כמו pastebin.לשאלתך, הפונקציה אמורה לשנות את המערך הקיים, או ליצור מערך חדש ולהחזיר אותו?
פורסם 2014 בינואר 2711 שנים מחבר ליצור מערך חדש ולהחזיר אותוhttp://pastebin.com/RVQyHakCחחח מהשאלה שלך הבנתי את הבעיה והסתדרתי בערך יש דרך יותר טובה מלהפוך את המערך לגלובלי? נערך 2014 בינואר 2711 שנים על-ידי RonCohen
פורסם 2014 בינואר 2711 שנים לעולם לעולם אסור להחזיר מצביע למשתנה מקומי שהוגדר בתוך פונקציה. כשפונקציה מסתיימת כל הזכרון שהוקצה על גבי המחסנית - משתנים ומערכים מקומיים (כאלה שלא נוצרו באמצעות malloc או new) - משוחרר. הזכרון הזה יצביע לזכרון שכבר אינו בשימוש.אם אתה רוצה שהפונקציה תחזיר מערך, יש שתי דרכים לעשות זאת:א. להקצות מערך חדש בתוך הפונקציה (באמצעות new/malloc) ולהחזיר אותו. אז מי שקרא לפונקציה צריך לדאוג לשחרר את המערך (ע"י delete/free) בסיום השימוש.ב. שהפונקציה תקבל כפרמטר נוסף מערך פלט (שכבר הוקצה מראש בגודל המתאים) והיא רק תאכלס אותו, ולא תחזיר כלום.
פורסם 2014 בינואר 2711 שנים מחבר אפשר הסבר איך אני מבצע את מה שכתבת בא' נערך 2014 בינואר 2711 שנים על-ידי RonCohen
פורסם 2014 בינואר 2711 שנים חיפוש בגוגל יעלה לך המון תוצאת לגבי הקצאת זיכרון עם malloc. המילה השמורה new קשורה ל- ++C
פורסם 2014 בינואר 2711 שנים מחבר הסתדרתי רק יש לי בעיה אחת שאני לא מבין איך אני מתמש בFREE אם המצביע של המערך הדינאמי הוא בתוך הפונקציה
פורסם 2014 בינואר 2711 שנים אתה הרי מחזיר את המצביע הזה. ערך ההחזרה של הפונקציה הוא מצביע לזיכרון שנמצא על הערימה. אתה פשוט משחרר אותו.
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.