PDA

View Full Version : اجرای تابع یا اشاره گر در C؟



one hacker alone
چهارشنبه 17 فروردین 1390, 13:20 عصر
با یاد خدا
با سلام خدمت دوستان عزیز
در قسمتی از بحث اشاره گر ها ما میتونید یک تابع رو با استفاده از ادرسش اجرا کنیم من تو این مورد یه خورده مطلب برای گنگ هست تصویری از کد زیر رو گذاشتم نگاه کنید
با یاد خدا
با سلام خدمت دوستان عزیز
در قسمتی از بحث اشاره گر ها ما میتونید یک تابع رو با استفاده از ادرسش اجرا کنیم من تو این مورد یه خورده مطلب برای گنگ هست تصویری از کد زیر رو گذاشتم نگاه کنید

1- (*cmp) خوب این قراره ادرس تابع باشه پس const char*,const char * چیه؟ اگه ارگومان های تابع Strcmp هست پس چرا Const تعریف شده مقدار های ما هر بار توسط کاربر مگه عوض نمیشن ؟
2-خط 8 برای چی نوشته شده و چی میگه؟
3- خط 20 هم باز من با اون قسمت که زیرش خط قرمز کشیدم مشکل دارم یعنی همون سوال اولم میشه
4- آیا تمامی ارگومان های توابعی که از طریق ادرس اجرا میشن باید const باشه؟
ممنون میشم از دوستان اگه کسی راهنمایی کنه


68373

hi level hdd
چهارشنبه 17 فروردین 1390, 15:50 عصر
با سلام
مقدار Const میتونه مقدار دهی اولیه بشه ولی به کامپایلر میگه این متغییر دیگه در طول برنامه نتونه مقدارش عوض بشه. خط 8 داره اشاره گریو تعریف میکنه که کار strcmp رو انجام بده که چند خط پایین ترش (خط 15) استفاده شده.حالا چرا تو برنامه این متغییر ها به صورت Const تعریف شدند به این خاطر هستش که تابع strcmp
به این صورت توسط طراحان کامپایلر تعریف شده. پس اشاره گر به آن دقیقا باید به همین صورت تعریف شود تا خطا گرفته نشود