1 00:00:00,000 --> 00:00:00,160 2 00:00:00,160 --> 00:00:04,010 >> ALTAVEU 1: Així que em sento com si jo tendeixo a escriure printf hello world o printf 3 00:00:04,010 --> 00:00:08,160 hola cent s molt sovint en contextos on vull imprimir una 4 00:00:08,160 --> 00:00:11,360 cadena, de vegades demanant al part d'usuari d'aquesta cadena. 5 00:00:11,360 --> 00:00:14,980 Bé, no seria bo que creem una funció de la nostra pròpia trucada, 6 00:00:14,980 --> 00:00:19,900 dir, en lletra d'impremta, el propòsit en la vida és simplement imprimir hola comes 7 00:00:19,900 --> 00:00:24,560 tal tan en acceptar la manera i tal com a argument per a aquesta funció? 8 00:00:24,560 --> 00:00:29,220 Podem declarar una funció de la nostra pròpia de la mateixa manera que puguem en les ratllades de la següent manera. 9 00:00:29,220 --> 00:00:35,280 >> En altres paraules, suposo que m'agradaria printf seu nom i preguntar a l'usuari 10 00:00:35,280 --> 00:00:39,470 pel seu nom amb una corda s és igual a GetString. 11 00:00:39,470 --> 00:00:42,060 I llavors jo vull cridar a una funció trucada en lletra d'impremta 12 00:00:42,060 --> 00:00:44,340 el pas d'una s com la seva entrada. 13 00:00:44,340 --> 00:00:47,770 >> Ara, per desgràcia, no hi ha cap funció va cridar el nom d'impressió en C o en 14 00:00:47,770 --> 00:00:48,950 la biblioteca CS50. 15 00:00:48,950 --> 00:00:51,220 Però no importa, perquè nosaltres pot fer que nosaltres mateixos. 16 00:00:51,220 --> 00:00:54,560 Declarar una funció de la nostra pròpia i a continuació, posar-lo en pràctica, podem simplement fer 17 00:00:54,560 --> 00:00:59,000 una mica d'espai en aquest arxiu i declarar aquesta funció de la següent manera, el buit - 18 00:00:59,000 --> 00:01:01,900 el que significa que la funció no està en realitat va a tornar alguna cosa, 19 00:01:01,900 --> 00:01:03,890 tot i que tindrà un efecte secundari - 20 00:01:03,890 --> 00:01:08,030 imprimir el nom i, a continuació, anem a especificar en parèntesi que el nom d'impressió espera un 21 00:01:08,030 --> 00:01:09,680 argument de tipus cadena. 22 00:01:09,680 --> 00:01:12,180 I, en general, ja pensarem que, com un nom. 23 00:01:12,180 --> 00:01:15,140 >> I obrirem la nostra cotilla i tancar l'aparell ortopèdic. 24 00:01:15,140 --> 00:01:21,930 I llavors printf dins hola comes nou nom coma line cent s. 25 00:01:21,930 --> 00:01:24,570 En altres paraules, tot i que aquest funció és només una línia de codi, 26 00:01:24,570 --> 00:01:27,290 no tenen ara algun superior finalitat nivell per impressió 27 00:01:27,290 --> 00:01:28,950 el nom d'algú amb una salutació. 28 00:01:28,950 --> 00:01:33,115 >> Ara dins de la principal, vaig notar que estava cridant el nom d'impressió en passar 1 s. 29 00:01:33,115 --> 00:01:35,830 I pel que sembla ara tenir un programa complet. 30 00:01:35,830 --> 00:01:38,650 L'única diferència dels altres que hem escrit és que no només 31 00:01:38,650 --> 00:01:42,480 aquest programa han principal, també té un declaració i l'aplicació de 32 00:01:42,480 --> 00:01:44,740 Nom d'impressió, en funció de la meva. 33 00:01:44,740 --> 00:01:49,505 >> Ara anem a compilar el meu programa amb maquillatge funció de zero, i executar-lo amb el punt 34 00:01:49,505 --> 00:01:51,080 funció zero slash. 35 00:01:51,080 --> 00:01:53,390 Quan se li demani al meu nom T'escric en David. 36 00:01:53,390 --> 00:01:55,830 I jo en veritat em saluden amb "Hola, David." 37 00:01:55,830 --> 00:02:00,160 >> Ara, resulta que molt deliberadament escrigui el seu nom declarat anteriorment principal, 38 00:02:00,160 --> 00:02:03,860 comptant amb això C per avançat que hi ha hi ha una funció anomenada print 39 00:02:03,860 --> 00:02:06,930 nomenar perquè jo pogués utilitzar més tard en principal. 40 00:02:06,930 --> 00:02:11,610 Ara, si hagués lloc posar el nom d'impressió en el fons del meu arxiu, ja que francament em 41 00:02:11,610 --> 00:02:15,310 probablement hauria de fer perquè els principals restes la primera cosa que jo o 42 00:02:15,310 --> 00:02:18,450 altre usuari veu en el meu codi, resulta que el meu codi és 43 00:02:18,450 --> 00:02:19,780 no va a compilar. 44 00:02:19,780 --> 00:02:23,610 >> En concret, si retorn al meu finestra de terminal i executeu fan la funció 45 00:02:23,610 --> 00:02:26,120 zero ara, observi que estic vaig cridar. 46 00:02:26,120 --> 00:02:30,340 Si em desplaço a la meva finestra de terminal, Vaig a veure aquest primer error en vermell, 47 00:02:30,340 --> 00:02:33,120 declaració implícita de la Nom de funció print. 48 00:02:33,120 --> 00:02:34,220 >> Ara, què significa això? 49 00:02:34,220 --> 00:02:37,190 Bé, tot i que he implementat imprimir el nom d'aquest arxiu, no tinc 50 00:02:37,190 --> 00:02:40,080 implementat abans que jo tinc utilitzat en principal. 51 00:02:40,080 --> 00:02:43,160 Ara, podríem tornar a l'antiga versió i el nom d'impressió lloc de 52 00:02:43,160 --> 00:02:44,450 aplicació fins a la part superior. 53 00:02:44,450 --> 00:02:48,730 >> Però puc donar-li el seu lloc només un toc C que hi ha una funció per arribar. 54 00:02:48,730 --> 00:02:55,390 En concret, per sobre de principal que puc declarar escriviu el nom tal com ho vaig fer abans, però 55 00:02:55,390 --> 00:02:59,450 acabar la línia amb un punt i coma, per tant amb la promesa de posar en pràctica, però encara no 56 00:02:59,450 --> 00:03:02,180 l'aplicació real de la funció trucada en lletra d'impremta. 57 00:03:02,180 --> 00:03:05,860 Llavors puc tenir principal a la part superior del meu presentar com jo esperava, i puc realment 58 00:03:05,860 --> 00:03:07,440 aplicar el nom d'impressió a la part inferior. 59 00:03:07,440 --> 00:03:12,860 >> Si ara torno a la meva finestra de terminal i tornar a compilar la funció zero amb maquillatge, 60 00:03:12,860 --> 00:03:14,390 aquesta vegada es compila. 61 00:03:14,390 --> 00:03:18,240 I si em quedo amb la funció slash dot zero proporcionar el meu nom, jo ​​estic 62 00:03:18,240 --> 00:03:20,650 saludat com "Hola, David." 63 00:03:20,650 --> 00:03:22,268