Recursividade, Alocação de Memória e Estrutura de Dados em C

459 palavras 2 páginas
Recursividade, Alocação de Memória e Estrutura de Dados em C

Programação 1

Recursividade
Recursividade é a capacidade de uma função de chamar a si mesma, que tem uma série de utilidades práticas na programação em C. Por exemplo pode-se usar uma função recursiva para contagens ou facilitar loops.
Entretanto, vale ressaltar que o perigo de uma função que chame a si mesma entre em um loop infinito é muito grande, logo, é necessário que se tome medidas para assegurar que o código pare de chamar a função em algum momento.
(Autoria Própria do Grupo)

Exemplo de Código em C:
#include

int fatorial(int n)
{
if(n == 1) return 1; else return ( n * fatorial(n-1) );
}

int main()
{
int n; printf("Digite um inteiro positivo: "); scanf("%d", &n);

printf("%d! = %d\n", n, fatorial(n));
}

(http://www.cprogressivo.net/2013/03/O-que-sao-e-como-usar-funcoes-recursivas-em-linguagem-C.html)

Alocação de Memória
Em C, existem dois tipos de se alocar memória, Alocação Dinâmica e Alocação Estática.
Alocação Estática: É o tipo clássico de alocação de memória quando normalmente se fala do assunto, a memória é alocada ao início do programa, não podendo ser alterada depois.
Alocação Dinâmica: Nesse tipo de alocação, entretanto, é possível que se altere o local alocado na memória para uma ou mais variáveis. Vale ressaltar que esse tipo de memória é acessada através de ponteiros, além disso, a região da memória dinamicamente alocada é chamada de heap.
(Autoria Própria do Grupo)
Exemplo de Código em C(comentário adicionado pelo grupo): int a[10], *b; //Alocação, respectivamente, estática e dinâmica b = a; b[5] = 100;
Printf(“%d\n”, a[5]);
Printf(“%d\n”, b[5]);

(http://homepages.dcc.ufmg.br/~rfortes/aeds/2/slides/alocacaodinamica.pdf)

Estruturas de Dados
Estruturas de Dados são um conjunto de variáveis que podem ser acessadas por todo o programa, ou seja, podem ser lidas e alteradas por

Relacionados

  • fundamentos de rede
    1272 palavras | 6 páginas
  • O trabalho
    5576 palavras | 23 páginas
  • Tec info
    11577 palavras | 47 páginas
  • stackpointer
    1433 palavras | 6 páginas
  • Estrutura de Dados
    1559 palavras | 7 páginas
  • Material Estrutura De Dados
    4375 palavras | 18 páginas
  • Linguagem c
    3355 palavras | 14 páginas
  • Tipos primitivos de dados
    3347 palavras | 14 páginas
  • trab 2
    1938 palavras | 8 páginas
  • Revisão
    843 palavras | 4 páginas