COLUMNA 1: Entón, eu sinto que tenden a escribir printf Ola mundo ou printf Ola por cento s, moitas veces en contextos onde quero imprimir unha corda, por veces, pedindo a parte do usuario do que cadea. Ben, non sería bo se creamos unha función do noso propio chamado, dicir, o nome de impresión, cuxo propósito na vida é simplemente para imprimir Ola coma así e así, ao aceptar o tal e tan como un argumento para esa función? Podemos declarar unha función do noso propio Así como podemos en scratch como segue. Noutras palabras, supoña que me gustaría printf o seu nome e, a continuación, pedir que o usuario ao seu nome con corda s é igual GetString. E entón eu quero chamar a unha función chamou o nome de impresión pasar un s como a súa entrada. Agora, por desgraza, non hai ningunha función chamou o nome de impresión en C ou en a biblioteca de CS50. Pero non importa, porque nós pode facelo nós mesmos. Para declarar unha función do noso propio e logo implementar lo, podemos simplemente facer un espazo neste ficheiro e declarar esta función do seguinte xeito, nula - o que significa que a función non é realmente vai devolver algo, aínda terá efectos secundarios - imprimir o nome, e logo imos indicar en parénteses que o nome de impresión espera un argumento do tipo cadea. E, en xeral, imos pensar do que como un nome. E imos abrir a nosa cinta e pechar a nosa cinta. E entón printf dentro Ola coma nome da liña de coma por cento s. Noutras palabras, aínda que iso función é só unha liña de código, que agora ten algún superior propósito nivel para imprimir o nome de alguén con un saúdo. Agora no inicio, entender que eu son chamando o nome de impresión por medio dun s. E así me parece agora ter un programa completo. A única diferenza é dende outros escribimos é que non só fai este programa ten inicio, el tamén ten un declaración e implantación de Nome de impresión, en función do meu propio. Imos agora compilar meu programa co make función cero, e executa-lo con un punto reducir a función cero. Cando se solicite para o meu nome Vou escribir David. E eu realmente son cumprimento con "Ola, David." Agora, non é que eu deliberadamente declarou o nome de impresión anterior principal, dicindo así C de antemán que non existe unha función chamada de impresión nome para que eu puidese usar que máis tarde, en principal. Agora, se eu poñer o nome en vez de impresión en Do fondo do meu arquivo, porque, sinceramente, eu probabelmente debería facer para que os principais restos o primeiro que eu ou outro usuario ve no meu código, verifícase que o meu código é non vai compilar. En concreto, se eu volver para o meu fiestra de terminal e executar facer a función cero, agora, entender que eu estou berrou. Se eu rolar para arriba na miña ventá de terminal, Vou ver este primeiro erro en vermello, declaración implícita de función nome de impresión. Agora, o que significa isto? Así, aínda que eu teña implantado imprimir o nome deste ficheiro, eu non teño aplicada antes de que eu teño usou en principal. Agora poderiamos volver ao vello versión e nome de impresión poñer de implantación enriba. Pero podo en vez de só dar unha información C que non hai unha función para vir. En concreto, sobre inicio podo declarar imprimir o nome así como fixen anteriormente, pero rematar a liña cun punto e coma, así prometendo aplicar, pero aínda non realmente implementar a función chamou o nome de impresión. Podo, entón, ten inicio na parte superior da miña ficheiro como eu esperaba, e podo realmente aplicar nome impreso na parte inferior. Se eu agora volver á miña fiestra de terminal e recompilar función a cero co make, esta vez compila. E se eu executa-lo coa función de corte de punto cero, facilitando o meu nome, eu estou saudado como "Ola, David."