ניתן, ע"י פעולות bitwise או ע"י משחק עם כתובת זיכרון להחזיר ערך שמייצג את הערך הראשון שיוחזר, ואז, בדילוגים מבוקרים, להגיע גם לערכים אחרים.בכל אופן, אתה מדבר על שינוי ערכי הפרמטרים שהועברו לפונקציה. כדי לשנותם, אתה צריך להעביר את כתובת הזיכרון שלהם, ולשמור אותה במצביע, וכעת, כל מה שישתנה בפונקציה, ישתנה בתכנית שקראה לפונקציה.
לדוגמה:void func(int *a) { a++; } int main(void) { int i = 5; func(&i); return 0; } |