1 00:00:07,185 --> 00:00:09,540 [Powered by Google Translate] Chris Gerber: A funzjoni hija serje ta 'passi fi ħdan 2 00:00:09,540 --> 00:00:12,000 programm akbar, li huwa normalment maħsub li se jkun jismu 3 00:00:12,000 --> 00:00:14,440 ħinijiet multipli u minn postijiet oħra multipli 4 00:00:14,440 --> 00:00:15,720 il-programm. 5 00:00:15,720 --> 00:00:18,480 Meta jkun qed jinħoloq funzjoni C, wieħed mir-rekwiżiti hu li 6 00:00:18,480 --> 00:00:21,050 tispeċifika tip valur tar-ritorn. 7 00:00:21,050 --> 00:00:23,490 Il-każ sempliċi hija sitwazzjoni fejn il-sejħa 8 00:00:23,490 --> 00:00:26,510 kodiċi ma jikkonċernax ir-riżultat tal-funzjoni. 9 00:00:26,510 --> 00:00:28,530 Dan jista 'jkun il-każ meta aħna l-istampar tad-data għall- 10 00:00:28,530 --> 00:00:31,120 wiri utent, kif ma printf. 11 00:00:31,120 --> 00:00:33,140 F'dan il-każ, nistgħu jiddikjaraw valur tar-ritorn 12 00:00:33,140 --> 00:00:35,020 li jkunu ta 'bla effett tip. 13 00:00:35,020 --> 00:00:37,130 Bl-użu null sempliċiment jirrakkonta l-kumpilatur li l-ebda 14 00:00:37,130 --> 00:00:39,120 valur se jiġu rritornati. 15 00:00:39,120 --> 00:00:40,530 Ejja naraw dak dan qisu. 16 00:00:40,530 --> 00:00:42,940 >> Ejja ngħidu li għandna funzjoni msejħa say_hello li 17 00:00:42,940 --> 00:00:44,490 tieħu waħda argument. 18 00:00:44,490 --> 00:00:47,050 Aħna ser tgħaddiha isem ta 'persuna u se juru greeting 19 00:00:47,050 --> 00:00:48,380 fuq l-iskrin. 20 00:00:48,380 --> 00:00:50,505 L-isem se jkun ta '* char tip. 21 00:00:50,505 --> 00:00:53,080 U aħna ser jispeċifikaw li l-argument. 22 00:00:53,080 --> 00:00:55,970 Applikazzjoni tiegħi ma jeħtieġ li tkun taf dak li kien stampat jew jekk 23 00:00:55,970 --> 00:00:56,970 kienet stampata. 24 00:00:56,970 --> 00:00:59,680 Allura l-valur tar-ritorn se jkun ta 'bla effett tip. 25 00:00:59,680 --> 00:01:02,060 Din il-funzjoni tista 'jistampaw l-iskrin bil-kmand bħal 26 00:01:02,060 --> 00:01:07,620 printf ("Hello,% s \ n 27 00:01:07,620 --> 00:01:12,100 ", L-isem),. 28 00:01:12,100 --> 00:01:14,690 Il-greeting se jintwerew u l-kontroll se tiġi mgħoddija 29 00:01:14,690 --> 00:01:16,260 lura għall-kodiċi sejħa. 30 00:01:16,260 --> 00:01:19,370 Ħaġa waħda li wieħed jinnota hu li meta t-tip valur tar-ritorn hija nulla, 31 00:01:19,370 --> 00:01:20,790 inti m'għandekx bżonn li jinkludu ritorn 32 00:01:20,790 --> 00:01:22,300 dikjarazzjoni fil-funzjoni. 33 00:01:22,300 --> 00:01:25,270 Jekk inti tagħżel li tinkludi waħda, ma jinkludux il-valur tar-ritorn 34 00:01:25,270 --> 00:01:27,420 bħala argument. 35 00:01:27,420 --> 00:01:29,380 >> F'xi każijiet, jagħmel sens li jirritornaw 36 00:01:29,380 --> 00:01:30,570 valur minn funzjoni. 37 00:01:30,570 --> 00:01:33,900 Ejja ngħidu li konna kitba ta 'funzjoni msejħa add_floats. 38 00:01:33,900 --> 00:01:36,160 Aħna ser tgħaddiha żewġ argumenti, kemm sufruni, 39 00:01:36,160 --> 00:01:37,510 imsejħa l-ewwel u t-tieni. 40 00:01:37,510 --> 00:01:40,520 U se jgħidulna dak it-total ta 'dawk flowts huwa. 41 00:01:40,520 --> 00:01:43,000 Aħna nafu li jekk aħna żid żewġ sufruni flimkien, ir-riżultat 42 00:01:43,000 --> 00:01:44,120 se jkun float. 43 00:01:44,120 --> 00:01:47,540 Minħabba dan, aħna tagħżel it-tip ta 'ritorn float. 44 00:01:47,540 --> 00:01:50,040 Din il-funzjoni se jwettaq dan il-kalkolu u r-ritorn 45 00:01:50,040 --> 00:01:52,260 il-valuri fi stqarrija bħal ritorn 46 00:01:52,260 --> 00:01:54,770 1 + 2;. 47 00:01:54,770 --> 00:01:57,300 Meta l-kontroll jiġi mgħoddi lura lill-kodiċi li ssejjaħ, il- 48 00:01:57,300 --> 00:02:00,030 jirriżultaw valur huwa issa disponibbli għal dan il-kodiċi. 49 00:02:00,030 --> 00:02:04,250 Nistgħu jaħżen dan il-valur bħal dan: riżultat float = 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 Riżultat f'dan il-każ issa se jkun fiha l-valur 4.76. 53 00:02:15,200 --> 00:02:18,620 >> Bħala tfakkira, il-valuri b'punt li huma impreċiżi. 54 00:02:18,620 --> 00:02:21,250 Allura jekk dan kien kalkolu finanzjarju, bl-użu dollari u 55 00:02:21,250 --> 00:02:24,960 ċenteżmi, aħna tista 'tixtieq li jikkunsidraw it-tip tad-data preċiża bħal 56 00:02:24,960 --> 00:02:29,120 int u jagħmel il-kalkoli fil pennies. 57 00:02:29,120 --> 00:02:31,270 >> Każ ieħor fejn aħna rridu li jirritornaw valur minn 58 00:02:31,270 --> 00:02:33,980 funzjoni huwa meta aħna trid tkun taf jekk funzjoni kienet 59 00:02:33,980 --> 00:02:35,960 suċċess. 60 00:02:35,960 --> 00:02:39,190 Jekk ma kienx ta 'suċċess, aħna tista' wkoll trid tkun taf liema tip ta ' 61 00:02:39,190 --> 00:02:41,250 Ġara żball. 62 00:02:41,250 --> 00:02:43,647 Ejja ngħidu li aħna qed tipprova tiftaħ fajl fuq diska biex jingħaddu 63 00:02:43,647 --> 00:02:45,220 in-numru ta 'karattri fiha. 64 00:02:45,220 --> 00:02:48,635 Jekk il-fajl ma jkunux jistgħu jinfetħu, irridu nkunu kapaċi twaqqaf u 65 00:02:48,635 --> 00:02:50,910 tgħid l-utent dwar il-problema. 66 00:02:50,910 --> 00:02:54,070 >> Aħna ser sejħa count_file_chars funzjoni tagħna u se 67 00:02:54,070 --> 00:02:55,490 tieħu waħda argument. 68 00:02:55,490 --> 00:02:57,420 Aħna ser jgħaddu fl-isem tal-fajl bl-użu ta 69 00:02:57,420 --> 00:02:59,610 char * imsejħa isem tal-file. 70 00:02:59,610 --> 00:03:03,050 Din il-funzjoni tista 'tidher xi ħaġa bħal din. 71 00:03:03,050 --> 00:03:05,450 F'dan l-eżempju, aħna nistennew li l-għadd lura 72 00:03:05,450 --> 00:03:07,130 ikunu 0 jew aktar. 73 00:03:07,130 --> 00:03:08,870 Dan iħalli us-interi negattivi li 74 00:03:08,870 --> 00:03:10,200 użu bħala valuri sentinelli. 75 00:03:10,200 --> 00:03:13,320 Valur sentinel huwa sempliċement valur speċjali li ma jkunx 76 00:03:13,320 --> 00:03:16,200 data leġittimi, iżda ma jwasslu informazzjoni. 77 00:03:16,200 --> 00:03:19,480 Hawnhekk, jekk I ritorn -1 għall-kodiċi li ssejjaħ, I am 78 00:03:19,480 --> 00:03:21,830 fil-fatt jibgħat il-messaġġ li Żball seħħet waqt 79 00:03:21,830 --> 00:03:23,810 tipprova l-aċċess l-fajl. 80 00:03:23,810 --> 00:03:26,060 I jistgħu mbagħad tiċċekkja li l-valur tar-ritorn biex jiddeterminaw jekk tiegħi 81 00:03:26,060 --> 00:03:28,060 sejħa funzjoni kienet ta 'suċċess. 82 00:03:28,060 --> 00:03:30,350 Jekk in-numru kien ta '0 jew akbar, nixtieq jafu l- 83 00:03:30,350 --> 00:03:32,180 Numru tal-karattri fit-fajl. 84 00:03:32,180 --> 00:03:35,310 Jekk, madankollu, in-numru kien inqas minn 0, I jistgħu sempliċiment 85 00:03:35,310 --> 00:03:37,350 print li problema kien seħħ. 86 00:03:37,350 --> 00:03:40,120 Wieħed kompromess li hija tikkunsidra li billi tirriżerva l il- 87 00:03:40,120 --> 00:03:43,180 valuri negattivi bħala valuri sentinella, jekk wieħed jassumi li dan huwa 88 00:03:43,180 --> 00:03:46,070 32-bit numru sħiħ, I essenzjalment meħuda 'il bogħod madwar 89 00:03:46,070 --> 00:03:48,970 2000000000 valuri possibbli ritorn. 90 00:03:48,970 --> 00:03:51,270 >> Tipi ta 'valur Ritorn huma wieħed mill-aktar elementi importanti ta' 91 00:03:51,270 --> 00:03:52,460 funzjoni sejħiet. 92 00:03:52,460 --> 00:03:54,670 Nisperaw li dan ħarsa qasira għen inti taħseb dwar 93 00:03:54,670 --> 00:03:59,110 tliet tipi ewlenin: null, il-valuri tar-riżultati, u l-valuri sentinella, 94 00:03:59,110 --> 00:04:00,190 u meta kull wieħed mill-tliet jista 'jkun 95 00:04:00,190 --> 00:04:02,010 xieraq fil-kodiċi tiegħek. 96 00:04:02,010 --> 00:04:03,260 Grazzi għall-ħars.