פורסם 2006 בפברואר 2119 שנים int* byTwo(int* arr,int n) {int i;int* ret;ret=new int[n];for(i=0;i<n;++i) {ret[i]=arr[i]*2;}return ret;}הקוד לא מושלם וצריך לבצע בדיקות
פורסם 2006 בפברואר 2119 שנים שים לב שהפונקציה מקצה מערך חדש בזכרון,ולכן אתה צריך לדאוג לשחרר אותו בהמשך באמצעות delete.
פורסם 2006 בפברואר 2119 שנים אתה רוצה מערך חדש, או לשנות את המערך הקיים?בכל מקרה, אתה יכול לשלוח פוינטר לפוינטר לפונ.
פורסם 2006 בפברואר 2119 שנים דרך נוספת:void byTwo(int* src, int n, int* dst) {int i;for(i=0;i<n;++i) {dst[i]=src[i]*2;}return ret;}תעתיק את המערך מ-src ל-dstאם מראש גודל המערך ידוע וקבוע, אפשר גם לעשותvoid byTwo(int[N] src, int[N] dst)(והמשך הפונקציה כמו קודם)
פורסם 2006 בפברואר 2119 שנים מחבר אתה רוצה מערך חדש, או לשנות את המערך הקיים?בכל מקרה, אתה יכול לשלוח פוינטר לפוינטר לפונ.רוצה מערך חדשאבל מה שהציעו לי כאן אז הפונקציה עשתה returnואני רוצה ללאאיך עושים פוינטר לפוינטר?(אני שולח מערך קבוע מראש)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.