ورود

View Full Version : سوال: انتگرال دوگانه



ebi_khatar00
یک شنبه 10 آذر 1392, 19:11 عصر
سلام دوستان.
من یه پروژه ای ازم خواسته شده برای نوشتن انتگرال دوگانه، اما به روشی که استاد خواسته
یه 2صفحه توضیحات به زبان انگلیسی فرمایش کردن، زیاد سر در نیاوردم.
اما سوال من در مورد این قطعه کدی که نوشته:
double (*f) (void *params, double x, double y)
ظاهرا اعلان یک تابع باید باشه که نوشته برای pointer passing میشه استفاده کرد.
منظورش از pointer passing چیه؟
منظورش از این کد چیه؟:متفکر:

fahimeh1512
پنج شنبه 21 آذر 1392, 12:44 عصر
سلام
f وقتی به این صورت تعریف میشه یعنی هم داخل پرانتزه هم علامت استار پشتش قرار میگیره نشون دهنده اشاره گر تابع هست
همون طور ک میدونی اسم تابع خودش یه اشاره گره ک به ادرس شروع خود تابع اشاره میکنه
به این صورت وقتی تعریف میشه یعنی داره به یه تابع اشاره میکنه ک یه خروجی از نوع دابل داره و سه تا وروردی به همون نوع هایی ک تعریف شده
حالا نحوه استفاده ش هم به این صورته ک من مثلا یه تابع دارم به اسم function
پارامترای این تابع دقیقا باید مشابه همین اشاره گر تابع باشه اون وقت من ادرس فانکشن رو میریزم تو اشاره گرش به این صورت

f=function;


از این به بعد میتونم به جای استفاده مستقیم از تابع فانکشن از اشاره گرش( یا اصطلاحا بهش امضای تابع یا signature هم میگن)استفاده کنم. مثلا اینجوری

double result=f(parameter,x1,y1);


امیدوارم توضیحا گویا باشه

ebi_khatar00
پنج شنبه 12 دی 1392, 17:16 عصر
خیلی ممنون.
گرفتم تقریبا چی شد، ولی میشه لطف کنی بگی کاربردش چیه؟