Análise dos tipos de distribuição de variáveis usando a linguagem C
Seminário: Análise dos tipos de distribuição de variáveis usando a linguagem C. Pesquise 861.000+ trabalhos acadêmicosPor: carrione • 27/11/2014 • Seminário • 1.429 Palavras (6 Páginas) • 333 Visualizações
Introdução:
Nesta atividade, estaremos analisando os tipos de alocações de variáveis utilizando a linguagem C, demonstraremos conceitos de alocação de memória ponteiros vetores e strings.
Etapa 1, passo 2
1. Alocação de Memória
É um processo no qual o processo no qual na execução de um programa, existe a solicitação de um espaço na memoria. São divididas em Alocação Dinâmica e Alocação Estática.
Alocação Dinâmica: sem tamanho fixo de dados, pois nesse caso é possível definir o quanto de memoria se deseja utilizar, os espaços na memoria do computador alocados podem estar dispersos.
#include
#include
int main (){
int *p;
p=(int *)malloc(sizeof(int) * 3);
if (!p){
printf ("** Erro: Memoria Insuficiente **");
exit;
}else{
printf ("** Memoria Alocada com Sucesso **");
}
return (0);
}
Alocação Estática: ao contrario de Alocação Dinâmica, os dados tem um tamanho fixo e estão organizados sequencialmente na memória do computador.
2. Ponteiros em C
Da mesma maneira que existem em C variáveis do tipo char, int e float, existem variáveis do tipo ponteiro. Chamado também de apontador, seu valor refere-se diretamente a outro valor alocado em outra área de memória através de seu endereço, ou seja, uma
referencia. A divisão da memoria do computador é feita em bytes, numerados de 0 ate o limite da maquina.
int main(){
int a=10;
int b=20;
float c=1.99
float d=5.60;
char e='t';
int *pta;
int *ptb;
float *ptc;
float *ptd;
char *pte;
printf("Valor de A=%d Endereco de A=%d Tamanho de A:%d bytes\n", a, &a, sizeof (a) );
printf("Valor de B=%d Endereco de B=%d Tamanho de B:%d bytes\n", b, &b, sizeof (b) );
printf("Valor de C=%.2f Endereco de C=%d Tamanho de C:%d bytes\n", c, &c, sizeof (c) );
printf("Valor de D=%.2f Endereco de D=%d Tamanho de D:%d bytes\n", d, &d, sizeof (d) );
printf("Valor de E=%c Endereco de E=%d Tamanho de E:%d bytes\n", e, &e, sizeof (e) );
pta = &a;
pta = &b;
ptc = &c;
pta = &d;
pte = &e;
//mostrando os ponteiros
printf("\n\n\npta=%d Endereco de PTA=%d Conteudo PTA:%d" ,pta, &pta, *pta);
printf("\n\n\nptb=%d Endereco de PTB=%d Conteudo PTB:%d" ,ptb, &ptb, *ptb);
printf("\n\n\nptc=%d Endereco de PTC=%d Conteudo PTC:%f" ,ptc, &ptc, *ptc);
printf("\n\n\nptd=%d Endereco de PTD=%d Conteudo PTD:%f" ,ptd, &ptd, *ptd);
printf("\n\n\npte=%d Endereco de PTE=%d Conteudo PTE:%c" ,pte, &pte, *pte);
3. Estruturas de dados e C
Estrutura de dados é um tipo de especial de dados. Estruturas de dados permitem que se juntem os tipos primitivos, em um novo tipo especial, onde você tem em uma única estrutura, um grupo de tipos primitivos.
Exemplo
typedef struct aluno
{
int ra;
char nome[30];
char endereco[50];
char curso[60];
char email[60];
} ALUNO,*PALUNO;
Isso define uma estrutura de dados de nome aluno, agrupando dentro deles os tipos int e char.
4. Vetores em C
Vetores são um grupamento do mesmo tipo de dado. esse vetor pode ser criado de um tipo primitivo como int,char,float,double,short ou a partir de uma estrutura de dados previamente definida.
5. Vetores unidimensionais
Vetores
unidimensionais, são vetores simples, podem ser criados de tipos primitivos, ou tipos compostos como uma estrutura de dados. Vetores unidimensionais em C começam no índice 0 indo ate o tamanho definido -1.
Para criar um vetor unidimensional utilizamos
tipo nomedavariavel[ tamanho ] onde
tipo -> É o tipo de dado que esse vetor ira armazenar.
nomedavariavel -> e o da variável que ira referenciar esse vetor
tamanho -> e o tamanho do vetor
Para fazer um loop de um vetor unidimensional, fazemos:
començando em 0 e indo ate o contador for igual ao tamanho-1
exemplo
int i;
...