جستجوگر پیشرفته سایت



ارسال مقدار به تابع

ارسال مقدار به تابع

وقتی مقداری به تابع ارسال می شود یک کپی از محتویات آرگومان به پارامتر نسبت داده می شود یعنی در اصل پارامتر یک کپی از متغیری است که به تابع ارسال می شود و مقدار آن خارج از تابع تغییر نمی کند. این روش ارسال یک متغیر با مقدار (passing variable by value) نامیده می شود. که روش معمول است. روش دیگر ارسال یک متغیر به تابع به صورت مرجع (called by reference) است. در این حالت به جای یک کپی از مقدار متغیر آدرس آن به تابع داده می شود بنابراين نام متغیر و نام پارامتربه یک مکان حافظه ارجاع می کنند. یعنی پارامتر متغیر جدیدی نیست بلکه همان متغیر قبلی با نام جدید است. در این حالت وقتی متغیر درون تابع تغییر می کند متغیر خارج از تابع هم تغییر می کند.

برای تعيين پارامتری به صورت مرجع کافی است علامت & (عملگر آدرس) قبل از پارامتر تابع در اعلان اضافه شود.


مثال. متغير m به صورت مقداری به تابع ارسال شده است. خروجی تابع عدد 1 است.

#include <iostream.h>
void f(int n) {
   n = 4;
}
int main() {
   int m = 1;
   cout << m << "\n";
   f(m);
   cout << m << "\n";
}

مثال. پارامتر number مرجع است.

#include <iostream.h>
void demo(float &number);
int main () {
   float num1;
   cout << "Please enter a number. \n";
   cin >> num1;
   cout << "Before the demo function your number is " << num1 << "\n";
   demo(num1);
   cout << "After the demo function your number is still " << num1 << "\n";
   return 0;
}
void demo(float &number) {
   number = number * 3;
   cout << "Inside the demo function the number is now " << number << "\n";
}


تعداد بازديد : 1797
تابع

توابع در ++C در اين بخش توضيح داده می شود. توابع بلاک های مستقلی از کد هستند که کار خاصی را انجام می دهند. هنگامی که برنامه نياز به انجام آن کار دارد تابع را صدا می زند. تابع اساس برنامه نويسی ساختيافته است که باعث بالارفتن کارائی برنامه ها و آسانتر شدن برنامه نويسی می شود. نحوه ايجاد و فراخوانی تابع به علاوه متغير های محلی و نحوه ارسال و دريافت پارامترهای تابع، توابع پيش ساخته و بازگشتی نيز شرح داده می شود.

تعريف تابع
فراخوانی تابع
دستور return
ارسال مقدار به تابع
متغيرهای محلی
سربارگذاری توابع
توابع پيش ساخته
فايل های ضميمه
توابع بازگشتی


تابع (function) بلاکی ازکد است که تحت يک نام گروه بندی می شود. بدين ترتيب بلاک کد می تواند بعد با استفاده از نامش اجرا شود. اين عمل فراخوانی تابع (function call) ناميده می شود. وقتی تابعی فراخوانی می شود دستورات درون تابع اجرا می شود. در انتهای تابع اجرا به همان محلی که تابع فراخوانی شده بود برمی گردد. ممکن است پارامترهایی به تابع ارسال شود. معمولا تابع معمولا مقداری را به برنامه فراخوان برمی گرداند.

برنامه ای که از تابع استفاده می کند به صورت ساختيافته (structured) است. يعنی وظايف توسط بخش های مستقل انجام می پذيرد. برنامه نويسی ساختيافته روی طراحی به روش top-down تاکيد دارد. در اين روش مسئله به وظايف مختلف تقسيم می شود و هر وظيفه توسط يک تابع انجام می پذيرد. بدنه تایع اصلی کوچک می شود و جزئيات درون توابع قرار می گيرند. به اين ترتيب نوشتن و اشکال زدائی برنامه های پيچيده آسانتر می شود. علاوه بر اين استفاده مجدد توابع در برنامه های ديگر ميسر می شود.

هر تابع بايد تنها يک کار را انجام دهد و از انجام چند کار در يک تابع بايد پرهيز شود.



تعداد بازديد : 1543