1 00:00:07,185 --> 00:00:09,540 [Powered by Google Translate] CHRIS گربر: تابع یک سری از مراحل در داخل است 2 00:00:09,540 --> 00:00:12,000 بزرگتر برنامه، در نظر گرفته شده است که معمولا به آن می شود 3 00:00:12,000 --> 00:00:14,440 چند بار و از مکان های مختلف دیگر در 4 00:00:14,440 --> 00:00:15,720 برنامه است. 5 00:00:15,720 --> 00:00:18,480 هنگام ایجاد یک تابع C، یکی از الزامات است 6 00:00:18,480 --> 00:00:21,050 مشخص بازگشت نوع ارزش است. 7 00:00:21,050 --> 00:00:23,490 ساده ترین حالت، یک وضعیت که در آن خواستار است 8 00:00:23,490 --> 00:00:26,510 کد با نتیجه ی یک تابع نیست. 9 00:00:26,510 --> 00:00:28,530 این ممکن است زمانی که ما در حال چاپ داده ها را به 10 00:00:28,530 --> 00:00:31,120 صفحه نمایش کاربر، مانند printf است. 11 00:00:31,120 --> 00:00:33,140 در این مورد، ما می توانیم یک مقدار بازگشتی اعلام 12 00:00:33,140 --> 00:00:35,020 از درجه اعتبار ساقط نوع. 13 00:00:35,020 --> 00:00:37,130 با استفاده از باطل به سادگی به کامپایلر می گوید که هیچ 14 00:00:37,130 --> 00:00:39,120 مقدار برگردانده خواهد شد. 15 00:00:39,120 --> 00:00:40,530 بیایید ببینیم که چه چیزی به نظر می رسد. 16 00:00:40,530 --> 00:00:42,940 >> اجازه دهید بگویم که ما یک تابع به نام say_hello که 17 00:00:42,940 --> 00:00:44,490 یک آرگومان طول می کشد. 18 00:00:44,490 --> 00:00:47,050 ما می خواهیم آن را به نام یک فرد را منتقل می کند و آن را به نمایش پستال 19 00:00:47,050 --> 00:00:48,380 بر روی صفحه نمایش. 20 00:00:48,380 --> 00:00:50,505 نام و نام خانوادگی * نوع کاراکتر باشد. 21 00:00:50,505 --> 00:00:53,080 و ما را به عنوان آرگومان مشخص است. 22 00:00:53,080 --> 00:00:55,970 تقاضای من نیازی به دانستن آنچه که چاپ شده بود و یا اگر آن را 23 00:00:55,970 --> 00:00:56,970 چاپ شده است. 24 00:00:56,970 --> 00:00:59,680 بنابراین مقدار بازگشتی را از درجه اعتبار ساقط نوع باشد. 25 00:00:59,680 --> 00:01:02,060 این تابع ممکن است به روی صفحه نمایش با یک فرمان مانند نسخه قابل چاپ 26 00:01:02,060 --> 00:01:07,620 printf ("سلام،٪ S \ N 27 00:01:07,620 --> 00:01:12,100 "، نام و نام خانوادگی). 28 00:01:12,100 --> 00:01:14,690 سلام نمایش داده خواهد شد و کنترل خواهد گذشت 29 00:01:14,690 --> 00:01:16,260 بازگشت به کد فراخوانی. 30 00:01:16,260 --> 00:01:19,370 یک چیز را به یاد داشته باشید این است که هنگامی که به نوع ارزش درجه اعتبار ساقط است، 31 00:01:19,370 --> 00:01:20,790 شما لازم نیست که بازگشت به 32 00:01:20,790 --> 00:01:22,300 بیانیه در عملکرد. 33 00:01:22,300 --> 00:01:25,270 اگر انتخاب کنید که شامل یک، می توانم در یک مقدار بازگشتی را شامل نمی شود 34 00:01:25,270 --> 00:01:27,420 به عنوان یک استدلال. 35 00:01:27,420 --> 00:01:29,380 >> در برخی موارد، آن را حس می کند برای بازگشت به 36 00:01:29,380 --> 00:01:30,570 مقدار از یک تابع. 37 00:01:30,570 --> 00:01:33,900 اجازه دهید بگویم که ما در حال نوشتن یک تابع به نام add_floats. 38 00:01:33,900 --> 00:01:36,160 ما می خواهیم آن را دو استدلال، هر دو شناور منتقل می کند، 39 00:01:36,160 --> 00:01:37,510 به نام اول و دوم است. 40 00:01:37,510 --> 00:01:40,520 و آن را به ما آنچه که در مجموع از آن شناور است. 41 00:01:40,520 --> 00:01:43,000 ما می دانیم که اگر ما دو شناور با هم، نتیجه 42 00:01:43,000 --> 00:01:44,120 شناور خواهد بود. 43 00:01:44,120 --> 00:01:47,540 با توجه به این که ما را انتخاب کنید نوع بازگشت از شناور. 44 00:01:47,540 --> 00:01:50,040 این تابع انجام این محاسبه و بازگشت 45 00:01:50,040 --> 00:01:52,260 ارزش ها در بیانیه ای مانند بازگشت 46 00:01:52,260 --> 00:01:54,770 اول و دوم +؛ 47 00:01:54,770 --> 00:01:57,300 هنگامی که کنترل برگشت به کد فراخوانی گذشت، 48 00:01:57,300 --> 00:02:00,030 در نتیجه ارزش است که در حال حاضر در دسترس به آن کد است. 49 00:02:00,030 --> 00:02:04,250 ما می توانیم این ارزش مانند ذخیره: نتیجه شناور 50 00:02:04,250 --> 00:02:09,410 add_floats (3.14، 1.62 51 00:02:09,410 --> 00:02:11,290 )؛ 52 00:02:11,290 --> 00:02:15,200 در نتیجه این مورد در حال حاضر به ارزش 4.76 باشد. 53 00:02:15,200 --> 00:02:18,620 >> به عنوان یک یادآوری، مقادیر ممیز شناور مبهم است. 54 00:02:18,620 --> 00:02:21,250 بنابراین اگر این محاسبات مالی بود، با استفاده از دلار و 55 00:02:21,250 --> 00:02:24,960 سنت، دقیق نوع داده مانند ما ممکن است بخواهید به در نظر گرفتن 56 00:02:24,960 --> 00:02:29,120 int و انجام محاسبات در سکه. 57 00:02:29,120 --> 00:02:31,270 >> مورد دیگری که در آن ما می خواهیم به بازگشت به یک مقدار از 58 00:02:31,270 --> 00:02:33,980 تابع است زمانی که ما می خواهند بدانند که اگر یک تابع 59 00:02:33,980 --> 00:02:35,960 موفق است. 60 00:02:35,960 --> 00:02:39,190 اگر موفقیت آمیز بود، ما نیز ممکن است می خواهند بدانند که چه نوع از 61 00:02:39,190 --> 00:02:41,250 خطا رخ داده است. 62 00:02:41,250 --> 00:02:43,647 اجازه دهید بگویم که ما در حال تلاش برای باز کردن یک فایل بر روی دیسک به دفعات مشاهده شده 63 00:02:43,647 --> 00:02:45,220 تعدادی از شخصیت های در آن است. 64 00:02:45,220 --> 00:02:48,635 اگر این فایل را می تواند باز نمی شود، ما می خواهیم قادر به متوقف کردن و 65 00:02:48,635 --> 00:02:50,910 به کاربر در مورد مشکل. 66 00:02:50,910 --> 00:02:54,070 >> خواهیم count_file_chars تابع ما تماس گرفته و از آن خواهد شد 67 00:02:54,070 --> 00:02:55,490 نگاهی به یک بحث است. 68 00:02:55,490 --> 00:02:57,420 ما را در نام فایل منتقل می کند با استفاده از یک 69 00:02:57,420 --> 00:02:59,610 کاراکتر * نام نام فایل. 70 00:02:59,610 --> 00:03:03,050 این تابع ممکن است چیزی شبیه به این. 71 00:03:03,050 --> 00:03:05,450 در این مثال، ما انتظار می رود که تعداد بازگشت به 72 00:03:05,450 --> 00:03:07,130 0 یا بیشتر. 73 00:03:07,130 --> 00:03:08,870 این برگ با ما اعداد صحیح منفی را به 74 00:03:08,870 --> 00:03:10,200 استفاده به عنوان ارزش های نگهبان. 75 00:03:10,200 --> 00:03:13,320 ارزش دیده بان است که به سادگی ارزش ویژه ای است که نمی باشد. 76 00:03:13,320 --> 00:03:16,200 داده های مشروع اما انتقال اطلاعات. 77 00:03:16,200 --> 00:03:19,480 در اینجا، اگر من بازگشت -1 به کد فراخوانی، من 78 00:03:19,480 --> 00:03:21,830 ارسال پیام که یک خطا رخ داده است در حالی که 79 00:03:21,830 --> 00:03:23,810 تلاش برای دسترسی به فایل. 80 00:03:23,810 --> 00:03:26,060 من پس از آن که می تواند مقدار بازگشتی برای تعیین بررسی کنید که آیا من 81 00:03:26,060 --> 00:03:28,060 فراخوانی تابع با موفقیت انجام شد. 82 00:03:28,060 --> 00:03:30,350 در صورتی که شماره 0 و یا بیشتر بود، من می دانم 83 00:03:30,350 --> 00:03:32,180 تعداد کاراکتر در فایل. 84 00:03:32,180 --> 00:03:35,310 با این حال، اگر تعداد کمتر از 0 بود، من به سادگی می تواند 85 00:03:35,310 --> 00:03:37,350 چاپ که مشکل رخ داده بود. 86 00:03:37,350 --> 00:03:40,120 یکی از تجارت کردن را در نظر بگیرید این است که با رزرو همه 87 00:03:40,120 --> 00:03:43,180 مقادیر منفی را به عنوان ارزش های نگهبان، با فرض این 88 00:03:43,180 --> 00:03:46,070 عدد صحیح 32 بیتی، اساسا دور در اطراف گرفته شده 89 00:03:46,070 --> 00:03:48,970 2 میلیارد مقادیر بازگشتی امکان پذیر است. 90 00:03:48,970 --> 00:03:51,270 >> بازگشت انواع ارزش ها یکی از مهم ترین عناصر 91 00:03:51,270 --> 00:03:52,460 فراخوانی تابع است. 92 00:03:52,460 --> 00:03:54,670 امیدوارم این مروری کوتاه کمک کرده است شما در مورد فکر می کنم 93 00:03:54,670 --> 00:03:59,110 سه نوع: باطل، ارزش نتیجه، و ارزش نگهبان، 94 00:03:59,110 --> 00:04:00,190 و هنگامی که هر یک از این سه نفر ممکن است 95 00:04:00,190 --> 00:04:02,010 در کد شما مناسب است. 96 00:04:02,010 --> 00:04:03,260 با تشکر برای تماشای.