وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

وبلاگ فرهاد مرتضی پور

Farhad Mortezapour's Blog

فراخوانی با کپی بازیابی call by copy restore

یک مثلا از فراخوانی با روش کپی / بازیابی یا call by copy restore


در این روش مقدار متغیر توسط فراخوان در پشته قرار میگیرد و پس از فراخوانی توسط رویه فراخوانی شده در پشته کپی می شود و به جای مقدار اصلی فراخوان قرار می گیرد.

یک مثلا از فراخوانی با روش کپی / بازیابی یا call by copy restore


در این روش مقدار متغیر توسط فراخوان در پشته قرار میگیرد و پس از فراخوانی توسط رویه فراخوانی شده در پشته کپی می شود و به جای مقدار اصلی فراخوان قرار می گیرد.

int a; void unsafe(int x) { x= 2; //a is still 1 a= 0; //a is now 0 }//function ends so the value of x is now stored in a -> value of a is now 2 int main() { a= 1; unsafe(a); //when this ends the value of a will be 2 printf("%d\n", a); //prints 2 }
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد