PDA

View Full Version : سوال: char*a(char b)



ali-iman
چهارشنبه 03 بهمن 1397, 21:14 عصر
سلام وقتتون بخیر . اگه میشه این یه تیکه کدرو بهم توضیح بدید چیه . همچین چیزیرو تو هیچ اموزشی ندیده بودم . ممنون
149670

farhad_shiri_ex
پنج شنبه 04 بهمن 1397, 08:17 صبح
یک Function prototype هستش همین و بس!
تعریف نمونه یک تابع در برنامه نویسی به زبان C خیلی مرسوم بود! به علت تابعی بودن زبان C معمولا قبل از تعریف پیاده سازی توابع ابتدا یک نمونه ازش تعریف میکردن و استفاده میکردن بعد در زمان مناسب پیاده سازی تابع را انجام میدادن!

#include <iostream>

using namespace std;
char* a(char p){
return &p;
}
int main()
{
char* a(char c); //function prototype
cout << a('c')[0] << endl;
return 0;
}


حالا اگر به همون تعریف a یک (*) اضافه کنیم تبدیل میشه به یک اشاره گر تابع که می تونه به یک تابع دیگه اشاره کنه که بهش میگن delegation !

#include <iostream>

using namespace std;
char* func(char p){
return &p;
}
int main()
{
char* (*a)(char c); //function pointer
a = &func;
cout << (*a)('c')[0] << endl;
return 0;
}