Baixe o app para aproveitar ainda mais
Prévia do material em texto
Estrutura de Dados Prof. Thiago Muniz Objetivos Apresentar os conceitos de procedimentos e funções, suas vantagens e sua notação em C. Motivação Permitir o reaproveitamento do código já construído(por você ou por outros programadores); Evitar que um trecho de código seja repetido várias vezes dentro de um mesmo programa; Permitir a alteração de um trecho de código de uma forma mais rápida. Com o uso de uma função é preciso alterar apenas dentro da função que se deseja; Evitar que os blocos do programa fiquem grandes demais e, por consequência, mais difíceis de entender; Facilitar a leitura do programa fonte; Separar o programa em partes(blocos) que possam ser logicamente compreendidos de forma isolada; Declaração de função Antes de se poder utilizar uma função ou um procedimento, é necessário defini-lo (antes de usar a aparelhagem há que fabricá-la). A definição de uma função ou de um procedimento é constituída por um cabeçalho seguido por um corpo, que consiste num conjunto de instruções entre {}. No cabeçalho são indicados: o tipo do valor calculado (devolvido) por essa função, o nome da função e a lista dos parâmetros da função (tipo nome separados por vírgulas). Isto é: tipo_de_devolução nome (lista_de_parâmetros) Declaração de função No exemplo seguinte tem-se o cabeçalho de uma função que tem um parâmetro e calcula (devolve) um valor inteiro. O nome dado a esta função é Fatorial. int fatorial(int n) Exemplo Função que retorne o valor do fatorial de n: Int fatorial (int n){ int f = 1 , i ; for(i = 1 ; i <= n ; i++){ f = f * i; } return(f); } Depois de definidos, funções e/ou procedimentos podem ser utilizados em outros locais de um programa. A utilização típica é invocar ou chamar a função para que ela seja executada. A invocação da função pode ser feita como se segue: int n = 5; int fat; fat = fatorial(n); Ou Printf(“fatorial = %d”, fatorial(n)); Ou If(fatorial(n)>100) Declaração de Procedimento No cabeçalho são indicados: o nome da Procedimento e a lista dos parâmetros do procedimento (tipo nome separados por vírgulas). Isto é: nome (lista_de_parâmetros) Exemplo O Procedimento não retorna valor, logo o valor calculado deve ser exibido dentro do proprio procedimento. Calcular o fatorial de de n: fatorial (int n){ int f = 1 , i ; for( i = 1 ; i <= n ; i++){ f = f * i; } printf(“o Fatorial de %d é: %d”, n , f ); } Depois de definidos, os procedimentos podem ser utilizados em outros locais de um programa. A utilização típica é invocar ou chamar um procedimento para que ela seja executada. A invocação do procedimento pode ser feita como se segue: int n = 5; fatorial(n); Estrutura de Dados - Ponteiro Ponteiros são variáveis cujos valores são endereços de memória. Uma variável de ponteiro é uma variável especialmente declarada para guardar um ponteiro para seu tipo especificado. Ponteiros têm 3 funções principais em C: Fornecer uma maneira rápida de referenciar elementos de um vetor; Permitem a modificação de argumentos de funções: variáveis não globais e não locais a ela; Oportunizar o uso de alocação e desalocação de memória em tempo de execução conforme a necessidade do programa. Declraração - Ponteiro A forma de declaração de uma variável ponteiro é: tipo *nome_variável Onde tipo é o tipo de variável apontada pela variável ponteiro. Exemplo: int *p; //p é um ponteiro de int Ou seja, p apontará para uma região de memória que armazena um valor inteiro. Operadores - Ponteiro O primeiro operador de ponteiro é o &. Ele é um operador unário que devolve o endereço na memória de seu operando. O segundo operador é o *. Ele é um operador unário que devolve o valor da variável localizada no endereço que o segue. Vetores e Ponteiros Em C, ponteiros e vetores estão intimamente relacionados. O nome de um vetor sem o índice é um ponteiro para o primeiro elemento do vetor. Exemplo: Vetores e Ponteiros Em C, ponteiros e vetores estão intimamente relacionados. O nome de um vetor sem o índice é um ponteiro para o primeiro elemento do vetor. Exemplo: Ponteiros Suponha que a, b e c são variáveis inteiras e veja um jeito de fazer c = a+b:
Compartilhar