Características básicas: - São anônimas (não podem ser referenciadas pelo nome) - São alocadas em uma área especial da memória (heap) - Seu espaço de memória é alocado e desalocado no momento que o programador desejar. Como as variáveis dinâmicas não possuem um nome, a única maneira de referenciá-las é através de um ponteiro. Biblioteca utilizada: < malloc.h > Criação da variável dinâmica: < tipo > * < nome_variavel >; < nome_variavel > = ( < tipo > *) malloc (sizeof (< tipo >)); O operador sizeof(), retorna o tamanho, em bytes, do tipo ou da expressão entre parênteses. A função malloc(), retorna um ponteiro para uma área livre de memória de dimensão estabeleciada pelo programador. A área alocada pela função malloc() é marcada como em uso, a fim de que, em chamadas futuras, o seu endereço não seja atribuído a outros ponteiros. Quando o programador não precisar mais da variável, ele deve desalocá-la, pois o espaço de memória não é liberado automaticamente, como no caso das variáreis estáticas. isso deve ser feito com a seguinte instrução: free (< nome_variavel >); Ex: int * p; p=(int *) malloc (sizeof(int)); *p=3; printf("%d\n", *p); free(p); |