פורסם 2010 בינואר 215 שנים //הפונקציה הבאה מקבלת מחרוזת - ושמה את את כל האותיות שבה במחרוזת חדשה.//הפונקציה תחזיר את המחרוזת החדשה ללא בזבוז זיכרון.//הנה הקוד, אנא עזרו לי להבין מה לא בסדר פה.תודהchar *updString(const char *s){ int size=1; char *pNew; while(*s) { if(*s<='Z'&&*s>='A') { pNew=(*char)realloc(size*sizeof(char)); *pNew=*s; pNew++; size++; } s++; } return pNew;}
פורסם 2010 בינואר 215 שנים אם אתה מתכוון לזה שהתכנית שלך לא עוברת קומלציה, זה בגלל שבהקצאה הדינאמית אתה רשמת(char*)במקום(*char)הפוקציה REALLOC מקציאה זכרון חדש למצביע קודם שהקצאת לו זכרון, אתה צריך לתת לפונקציה את המצביע שהקצאת לו זכרון לפני זה (אתה חייב לעשות MALLOC לפני שאתה עושה REALLOC)
ארכיון
דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.