[Powered by Google Translate] CHRIS گربر: تابع یک سری از مراحل در داخل است
بزرگتر برنامه، در نظر گرفته شده است که معمولا به آن می شود
چند بار و از مکان های مختلف دیگر در
برنامه است.
هنگام ایجاد یک تابع C، یکی از الزامات است
مشخص بازگشت نوع ارزش است.
ساده ترین حالت، یک وضعیت که در آن خواستار است
کد با نتیجه ی یک تابع نیست.
این ممکن است زمانی که ما در حال چاپ داده ها را به
صفحه نمایش کاربر، مانند printf است.
در این مورد، ما می توانیم یک مقدار بازگشتی اعلام
از درجه اعتبار ساقط نوع.
با استفاده از باطل به سادگی به کامپایلر می گوید که هیچ
مقدار برگردانده خواهد شد.
بیایید ببینیم که چه چیزی به نظر می رسد.
>> اجازه دهید بگویم که ما یک تابع به نام say_hello که
یک آرگومان طول می کشد.
ما می خواهیم آن را به نام یک فرد را منتقل می کند و آن را به نمایش پستال
بر روی صفحه نمایش.
نام و نام خانوادگی * نوع کاراکتر باشد.
و ما را به عنوان آرگومان مشخص است.
تقاضای من نیازی به دانستن آنچه که چاپ شده بود و یا اگر آن را
چاپ شده است.
بنابراین مقدار بازگشتی را از درجه اعتبار ساقط نوع باشد.
این تابع ممکن است به روی صفحه نمایش با یک فرمان مانند نسخه قابل چاپ
printf ("سلام،٪ S \ N
"، نام و نام خانوادگی).
سلام نمایش داده خواهد شد و کنترل خواهد گذشت
بازگشت به کد فراخوانی.
یک چیز را به یاد داشته باشید این است که هنگامی که به نوع ارزش درجه اعتبار ساقط است،
شما لازم نیست که بازگشت به
بیانیه در عملکرد.
اگر انتخاب کنید که شامل یک، می توانم در یک مقدار بازگشتی را شامل نمی شود
به عنوان یک استدلال.
>> در برخی موارد، آن را حس می کند برای بازگشت به
مقدار از یک تابع.
اجازه دهید بگویم که ما در حال نوشتن یک تابع به نام add_floats.
ما می خواهیم آن را دو استدلال، هر دو شناور منتقل می کند،
به نام اول و دوم است.
و آن را به ما آنچه که در مجموع از آن شناور است.
ما می دانیم که اگر ما دو شناور با هم، نتیجه
شناور خواهد بود.
با توجه به این که ما را انتخاب کنید نوع بازگشت از شناور.
این تابع انجام این محاسبه و بازگشت
ارزش ها در بیانیه ای مانند بازگشت
اول و دوم +؛
هنگامی که کنترل برگشت به کد فراخوانی گذشت،
در نتیجه ارزش است که در حال حاضر در دسترس به آن کد است.
ما می توانیم این ارزش مانند ذخیره: نتیجه شناور
add_floats (3.14، 1.62
)؛
در نتیجه این مورد در حال حاضر به ارزش 4.76 باشد.
>> به عنوان یک یادآوری، مقادیر ممیز شناور مبهم است.
بنابراین اگر این محاسبات مالی بود، با استفاده از دلار و
سنت، دقیق نوع داده مانند ما ممکن است بخواهید به در نظر گرفتن
int و انجام محاسبات در سکه.
>> مورد دیگری که در آن ما می خواهیم به بازگشت به یک مقدار از
تابع است زمانی که ما می خواهند بدانند که اگر یک تابع
موفق است.
اگر موفقیت آمیز بود، ما نیز ممکن است می خواهند بدانند که چه نوع از
خطا رخ داده است.
اجازه دهید بگویم که ما در حال تلاش برای باز کردن یک فایل بر روی دیسک به دفعات مشاهده شده
تعدادی از شخصیت های در آن است.
اگر این فایل را می تواند باز نمی شود، ما می خواهیم قادر به متوقف کردن و
به کاربر در مورد مشکل.
>> خواهیم count_file_chars تابع ما تماس گرفته و از آن خواهد شد
نگاهی به یک بحث است.
ما را در نام فایل منتقل می کند با استفاده از یک
کاراکتر * نام نام فایل.
این تابع ممکن است چیزی شبیه به این.
در این مثال، ما انتظار می رود که تعداد بازگشت به
0 یا بیشتر.
این برگ با ما اعداد صحیح منفی را به
استفاده به عنوان ارزش های نگهبان.
ارزش دیده بان است که به سادگی ارزش ویژه ای است که نمی باشد.
داده های مشروع اما انتقال اطلاعات.
در اینجا، اگر من بازگشت -1 به کد فراخوانی، من
ارسال پیام که یک خطا رخ داده است در حالی که
تلاش برای دسترسی به فایل.
من پس از آن که می تواند مقدار بازگشتی برای تعیین بررسی کنید که آیا من
فراخوانی تابع با موفقیت انجام شد.
در صورتی که شماره 0 و یا بیشتر بود، من می دانم
تعداد کاراکتر در فایل.
با این حال، اگر تعداد کمتر از 0 بود، من به سادگی می تواند
چاپ که مشکل رخ داده بود.
یکی از تجارت کردن را در نظر بگیرید این است که با رزرو همه
مقادیر منفی را به عنوان ارزش های نگهبان، با فرض این
عدد صحیح 32 بیتی، اساسا دور در اطراف گرفته شده
2 میلیارد مقادیر بازگشتی امکان پذیر است.
>> بازگشت انواع ارزش ها یکی از مهم ترین عناصر
فراخوانی تابع است.
امیدوارم این مروری کوتاه کمک کرده است شما در مورد فکر می کنم
سه نوع: باطل، ارزش نتیجه، و ارزش نگهبان،
و هنگامی که هر یک از این سه نفر ممکن است
در کد شما مناسب است.
با تشکر برای تماشای.