PDA

View Full Version : سوال: سوال در مورد نحوه فراخوانی تابع



idocsidocs
چهارشنبه 17 خرداد 1391, 02:49 صبح
توی این کد
int index(int,int[],int);
int main()
{ int a[] = { 22, 44, 66, 88, 44, 66, 55};
cout << "index(44,a,7) = " << index(44,a,7) << endl;
cout << "index(50,a,7) = " << index(50,a,7) << endl;
}
int index(int x, int a[], int n)
{ for (int i=0; i<n; i++)
if (a[i] == x) return i;
return n; // x not found
}
خط زیر
int index(int,int[],int);
چه نقشی داره و چرا باید این خط رو استفاده کرد؟

MAN_UNITED
چهارشنبه 17 خرداد 1391, 04:32 صبح
این خط و بهش میگن نمونه اولیه تابع که باعث میشه ترتیب پیاد سازی توابع مهم نباشه

idocsidocs
چهارشنبه 17 خرداد 1391, 11:14 صبح
این خط و بهش میگن نمونه اولیه تابع که باعث میشه ترتیب پیاد سازی توابع مهم نباشه
می شه بیشتر توضیح بدید؟
اگر بدنه تابع رو توی یه فایل جداگانه تعریف کنیم، نمونه اولیه باید توی اون فایل اعلان بشه یا توی فایلی که از تابع استفاده می کنه؟
اگر اصلا از این خط استفاده نشه مشکلی پیش می یاد؟

MAN_UNITED
چهارشنبه 17 خرداد 1391, 13:05 عصر
نمونه اولیه باید تو همون فایلی که پیاده سازی میکنی باشه
نه مشکلی پیش نمیاد فقط ترتیب پیاده سازی مهم میشه که ممکنه تابعی رو توی یه تابع بخوایی صدا بزنی که ممکنه مشکل پیش بیاد

idocsidocs
چهارشنبه 17 خرداد 1391, 13:12 عصر
اگه نمونه سازی رو اصلا انجام ندیم مشکلی پیش می یاد؟

Ananas
چهارشنبه 17 خرداد 1391, 16:05 عصر
سلام.
برنامه خط به خط از بالا به پایین خونده میشه پس اگه بخوای قبل از تعریف تابع جایی از برنامه ازش استفاده کنی باید چه کار کنی؟ مثلا دو تا تابع داری که هر کدوم اونیکی رو تو شرایطی ممکنه صدا بزنن اونوقت کدوم رو اول مینویسی؟ نمیشه که همه چیزو قبل از همه چیز بنویسی، بالاخره باید یکی رو بعد از اون یکی بنویسی، پس به این روشی که میگی قبلش نحوه ی فراخوانی و اسم همه ی توابع رو تعریف کنی که همه جا شناخته شده باشه بعد اونا رو در ادامه هر جا خواستی تعریف میکنی.

idocsidocs
چهارشنبه 17 خرداد 1391, 19:17 عصر
برنامه خط به خط از بالا به پایین خونده میشه پس اگه بخوای قبل از تعریف تابع جایی از برنامه ازش استفاده کنی باید چه کار کنی؟ مثلا دو تا تابع داری که هر کدوم اونیکی رو تو شرایطی ممکنه صدا بزنن اونوقت کدوم رو اول مینویسی؟ نمیشه که همه چیزو قبل از همه چیز بنویسی، بالاخره باید یکی رو بعد از اون یکی بنویسی، پس به این روشی که میگی قبلش نحوه ی فراخوانی و اسم همه ی توابع رو تعریف کنی که همه جا شناخته شده باشه بعد اونا رو در ادامه هر جا خواستی تعریف میکنی.
حالا اگه توابع رو اول تعریف کنیم، لازم هست که این خط رو هم بنویسیم یا دیگه لازم نیست؟

r.khodabakhshi
چهارشنبه 17 خرداد 1391, 19:27 عصر
سلام.نه لازم نیست.