C/Funcións: Diferenzas entre revisións
Contido eliminado Contido engadido
Sen resumo de edición |
|||
Liña 5:
*Se ten varias funcións (aínda que estas estean en ficheiros externos), o proceso ou tarefa subdivídese nesas funcións.
As funcións en C, salvo a principal (<code>main</code>), aparecen no código cando menos tres veces: na
==Declaración dunha función==▼
A declaración ou prototipo dunha función precísase para que cando o compilador chegue á chamada dunha función antes de chegar á definición da mesma, este xa saiba da súa existencia e coñeza:▼
*A cantidade de argumentos que ten que recibir e o seu tipo de dato.▼
*O tipo de dato que devolverá a función.▼
*O identificador da función.▼
A declaración dunha función ten que aparecer entre as [[{{BASEPAGENAME}}/Directrices para o proprocesador|directrices para o ''preprocesador'']] e a [[{{PAGENAME}}#Definición dunha función|definición]] da función principal. É dicir, comparten espazo coas declaracións de [[{{BASEPAGENAME}}/Variables#Variables globais|variables globais]].▼
As partes de que consta unha función son ben similares ás da cabeceira dunha [[{{PAGENAME}}#Definición dunha función|función]]. De feito, poden ser iguais, salvo porque non fai falla especificar o nome que terán as variables nas que se garden os argumentos fornecidos á función na [[{{PAGENAME}}#Chamada a unha función|chamada]].▼
Velaquí uns exemplos de declaracións dunha función:▼
<source lang=c>▼
int IdentificadorDaFuncion1(int parametro1, float parametro2, float parametro3) // Esta leva os identificadores das variables que se han usar na función▼
int IdentificadorDaFuncion2(double, double) // Esta non, simplemente leva os tipos de datos que vai recibir na chamada▼
</source>▼
==Definición dunha función==
A definición de unha función é a función en si mesma. É un algoritmo que pode recibir un valor, varios valores ou mesmo ningún valor, e que sempre devolve un valor. Consta dunha serie de sentencias que rematan coa devolución dun valor (<code>return</code>).
A definición dunha función consta de dúas partes ben diferenciadas:
*Cabeceira: identificador da función e tipo de datos de entrada e saída.
Liña 39 ⟶ 25:
Na terceira parte, salvo para o caso en que non se reciban datos (<code>void</code>), os tipos de datos deben estar ligados ao nome dunha variable que terá "xurisdición" dentro do bloque da función. Isto é coma unha declaración de variables corrente, sendo a única diferencia respecto ás outras declaracións de variables que a variable se inicializa cun valor que se lle fornece na [[{{PAGENAME}}#Chamada a unha función|chamada á función]], que se realiza dende outra función.
▲==Declaración dunha función==
▲A declaración ou prototipo dunha función precísase para que cando o compilador chegue á chamada dunha función antes de chegar á definición da mesma, este xa saiba da súa existencia e coñeza:
▲*A cantidade de argumentos que ten que recibir e o seu tipo de dato.
▲*O tipo de dato que devolverá a función.
▲*O identificador da función.
Isto quere dicir que, en caso de que a definición da función vaia antes das chamadas á mesma, non sería preciso incluír a declaración da función. De todos xeitos é costume que a primeira función sexa a principal, e a primeira función adoita ser a que contén a meirande parte das chamadas a funcións, polo que situar as declaracións das funcións ao comezo do programa e logo situar a definición da función principla e tras ela as demáis e unha práctica moi habitual.
▲A declaración dunha función ten que aparecer entre as [[{{BASEPAGENAME}}/Directrices para o proprocesador|directrices para o ''preprocesador'']] e a [[{{PAGENAME}}#Definición dunha función|definición]] da función principal. É dicir, comparten espazo coas declaracións de [[{{BASEPAGENAME}}/Variables#Variables globais|variables globais]].
▲As partes de que consta unha función son ben similares ás da cabeceira dunha [[{{PAGENAME}}#Definición dunha función|función]]. De feito, poden ser iguais, salvo porque non fai falla especificar o nome que terán as variables nas que se garden os argumentos fornecidos á función na [[{{PAGENAME}}#Chamada a unha función|chamada]].
▲Velaquí uns exemplos de declaracións dunha función:
▲<source lang=c>
▲int IdentificadorDaFuncion1(int parametro1, float parametro2, float parametro3) // Esta leva os identificadores das variables que se han usar na función
▲int IdentificadorDaFuncion2(double, double) // Esta non, simplemente leva os tipos de datos que vai recibir na chamada
▲</source>
|