Aula Funcoes
Aula Funcoes
Aula Funcoes
FUNÇÕES
FUNÇÃO
Funções são blocos de código que podem ser
nomeados e chamados de dentro de um
programa.
printf(): função que escreve na tela
scanf(): função que lê o teclado
FUNÇÃO
Facilitam a estruturação e reutilização do código.
Estruturação: programas grandes e complexos são
construídos bloco a bloco.
Reutilização: o uso de funções evita a cópia
desnecessária de trechos de código que realizam a
mesma tarefa, diminuindo assim o tamanho do
programa e a ocorrência de erros
FUNÇÃO – ORDEM DE EXECUÇÃO
Ao chamar uma função, o programa que a chamou é
pausado até que a função termine a sua execução
int a = n1
n2 = a*a
FUNÇÃO - ESTRUTURA
Forma geral de uma função:
Nome que
Valor que a Lista de valores
identifica a
função pode ou passados para a
função
não retornar função processar
Corpo da função
(tarefas que ela
executa)
FUNÇÃO - CORPO
O corpo da função é a sua alma.
É formado pelos comandos que a função deve executar
Ele processa os parâmetros (se houver), realiza outras
tarefas e gera saídas (se necessário)
Similar a cláusula main()
FUNÇÃO - CORPO
De modo geral, evita-se fazer operações de leitura e
escrita dentro de uma função.
Uma função é construída com o intuito de realizar uma
tarefa específica e bem-definida.
As operações de entrada e saída de dados (funções
scanf() e printf()) devem ser feitas em quem chamou a
função (por exemplo, na main()).
Isso assegura que a função construída possa ser utilizada
nas mais diversas aplicações, garantindo a sua
generalidade.
FUNÇÃO - PARÂMETROS
A declaração de parâmetros é uma lista de variáveis
juntamente com seus tipos:
tipo1 nome1, tipo2 nome2, ... , tipoN nomeN
Pode-se definir quantos parâmetros achar necessários
FUNÇÃO - PARÂMETROS
É por meio dos parâmetros que uma função
recebe informação do programa principal (isto é,
de quem a chamou)
Não é preciso fazer a leitura das variáveis dos
parâmetros dentro da função
int x = 2;
int y = 3;
FUNÇÃO - PARÂMETROS
Podemos criar uma função que não recebe nenhum
parâmetro de entrada
Isso pode ser feito de duas formas
Podemos deixar a lista de parâmetros vazia
Podemos colocar void entre os parênteses
FUNÇÃO - RETORNO
Uma função pode ou não retornar um valor
Se ela retornar um valor, alguém deverá receber este
valor
Uma função que retorna nada é definida colocando-se
o tipo void como valor retornado
Podemos retornar qualquer valor válido em C
tipos pré-definidos: int, char, float e double
tipos definidos pelo usuário: struct
COMANDO RETURN
O valor retornado pela função é dado pelo
comando return
Forma geral:
return valor ou expressão;
return;
Usada para terminar uma função que não retorna valor
Saída:
Antes da funcao: x = 5
Dentro da funcao: x = 6
Depois da funcao: x = 5
PASSAGEM POR REFERÊNCIA
Quando se quer que o valor da variável mude dentro
da função, usa-se passagem de parâmetros por
referência.
Neste tipo de chamada, não se passa para a função o
valor da variável, mas a sua referência (seu endereço
na memória);
PASSAGEM POR REFERÊNCIA
Utilizando o endereço da variável, qualquer
alteração que a variável sofra dentro da função
será refletida fora da função.
Ex: função scanf()
PASSAGEM POR REFERÊNCIA
Ex: função scanf()
Sempre que desejamos ler algo do teclado, passamos
para a função scanf() o nome da variável onde o dado
será armazenado.
Essa variável tem seu valor modificado dentro da
função scanf(), e seu valor pode ser acessado no
programa principal
PASSAGEM POR REFERÊNCIA
Para passar um parâmetro por referência, coloca-se
um asterisco “*” na frente do nome do parâmetro na
declaração da função:
Saída:
Antes da funcao: x = 5
Dentro da funcao: x = 6
Depois da funcao: x = 6
EXERCÍCIO
Crie uma função que troque o valor de dois
números inteiros passados por referência.
EXERCÍCIO
Crie uma função que troque o valor de dois
números inteiros passados por referência.
ARRAYS COMO PARÂMETROS
Para utilizar arrays como parâmetros de funções
alguns cuidados simples são necessários.