Função malloc

Agrupamento de Escolas da Batalha
Agrupamento de Escolas da BatalhaTeacher à Agrupamento de Escolas da Batalha
Escola Secundária c/ 3º CEB da Batalha Alocação dinâmica de memória
Composição de Estruturas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],r inicio x: y: 10 20 fim x: y: 30 40
Ponteiros para Estruturas ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],pp 1002 p1 x: y: 1002 10 20
Alocação Dinâmica de Memória ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],número de bytes alocados size_t n
Alocação Dinâmica de Memória ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
malloc () – exemplo ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Pág.424
malloc () ,[object Object],float *v,*paux;  int n;  printf("Quantos valores? ");  scanf("%d", n);  v = (float *) malloc(n * sizeof(float) ); paux=v;
Libertar memória dinâmica ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exercícios ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],int *v; int n, i; scanf (&quot;%d&quot;, &n); v = (int *) malloc (n * sizeof(int)); for (i = 0; i < n; ++i)  v[i] = i; . . .  free (v);
Ajuste de memória dinâmica ,[object Object]
Ajuste de memória dinâmica ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Alocação Dinâmica de Memória ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Alocação Dinâmica de Memória ,[object Object],[object Object],[object Object],[object Object],[object Object]
Exercícios ,[object Object],[object Object],[object Object]
Resolução Nº 1 1- Pretende-se que faça a alocação de espaço em memória para 10 inteiros. Deverá imprimir os seus respectivos endereço de memórias e o seu conteúdo. int *dados,i;int *p; void main() { clrscr(); dados=(int *)malloc(5*sizeof(int)); if (dados==NULL) { printf (&quot;A alocação não correu bem!!&quot;); exit(1); } p=dados; for (i=0;i<5;i++) { printf(&quot;Digite os numeros&quot;); scanf(&quot;%d&quot;,dados+i);//guarda valores am mem¢ria } for (i=0;i<5;i++) {   printf(&quot;Tem o valor %d e est   no endere‡o %d&quot;, *(dados+i),p);   //endere‡o de mem¢ria   p++; } getch(); }
Resolução Nº 2 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Resolução Nº 3 ,[object Object],#include <stdio.h> #include <stdlib.h> void main() {  int *v;  int soma, i, num, c;  float media; /* Esta operação é necessária para utilizar posteriormente a função realloc() */ v = (int *) malloc( sizeof(int) ); /* São inicializadas as variáveis soma e contador de números inseridos */  soma = 0; i = 0; /* O primeiro número é inserido antes do ciclo while para verificar se é zero (para a acabar) */ printf(&quot;Insira um número (zero para acabar): &quot;);  scanf(&quot;%d&quot;, &num); while( num ) /* O ciclo é executado enquanto num não é zero */ { i++;  v = (int *) realloc(v, i*sizeof(int)); *(v+i-1) = num; /* O vector começa na posição zero pelo que i anda avançado um valor */ soma += num; /* É efectuado o somatório dos números inseridos */ /* É inserido um novo número para verificar no início do próximo ciclo */ printf(&quot;Insira um número (zero para acabar): &quot;);  scanf(&quot;%d&quot;, &num); } /* O cast (float) força as operações a serem realizadas no domínio dos float */ /* que de outra forma seria nos int (soma e i são ambos inteiros) */ media = (float) soma / i; for(c = 0; c < i; c++) if ( *(v+c) > media ) printf(&quot;O valor %d está acima da média.&quot;, *(v+i)); }
1 sur 17

Recommandé

Usabilidade e Arquitetura de Informação de Websites de Governos Municipais par
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisUsabilidade e Arquitetura de Informação de Websites de Governos Municipais
Usabilidade e Arquitetura de Informação de Websites de Governos MunicipaisMarcelo Ramos
13.4K vues133 diapositives
Linguagem C - Ponteiros par
Linguagem C - PonteirosLinguagem C - Ponteiros
Linguagem C - PonteirosElaine Cecília Gatto
5.2K vues39 diapositives
12 algoritmos e funcoes recursivas par
12   algoritmos e funcoes recursivas12   algoritmos e funcoes recursivas
12 algoritmos e funcoes recursivasRicardo Bolanho
1.7K vues17 diapositives
Aula 22 - Os comandos XLINE, RAY, SPLINE e outros no Autocad 14. par
Aula 22 - Os comandos XLINE, RAY, SPLINE e outros no Autocad 14.Aula 22 - Os comandos XLINE, RAY, SPLINE e outros no Autocad 14.
Aula 22 - Os comandos XLINE, RAY, SPLINE e outros no Autocad 14.alexandre ribeiro
11.3K vues27 diapositives
Aula 3 algoritmos par
Aula 3   algoritmosAula 3   algoritmos
Aula 3 algoritmosPatrick_turma10
20.6K vues27 diapositives
Como usar o word pad par
Como usar o word padComo usar o word pad
Como usar o word padThiago Francisco Bergmann
21.1K vues4 diapositives

Contenu connexe

Tendances

Stored Procedures and Triggers par
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggersflaviognm
20.9K vues40 diapositives
Introdução básica ao JavaScript par
Introdução básica ao JavaScriptIntrodução básica ao JavaScript
Introdução básica ao JavaScriptCarlos Eduardo Kadu
1.7K vues36 diapositives
Linguagem C - Estruturas par
Linguagem C - EstruturasLinguagem C - Estruturas
Linguagem C - EstruturasElaine Cecília Gatto
5.5K vues24 diapositives
Tugas iv mekanika tanah par
Tugas iv mekanika tanahTugas iv mekanika tanah
Tugas iv mekanika tanahapaAPAaja82
16.9K vues24 diapositives
Desvendando a linguagem JavaScript par
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScriptRodrigo Branas
18.8K vues409 diapositives
Complexidade Ciclomática par
Complexidade CiclomáticaComplexidade Ciclomática
Complexidade CiclomáticaDouglas Siviotti
5.1K vues68 diapositives

Tendances(20)

Stored Procedures and Triggers par flaviognm
Stored Procedures and TriggersStored Procedures and Triggers
Stored Procedures and Triggers
flaviognm20.9K vues
Tugas iv mekanika tanah par apaAPAaja82
Tugas iv mekanika tanahTugas iv mekanika tanah
Tugas iv mekanika tanah
apaAPAaja8216.9K vues
Desvendando a linguagem JavaScript par Rodrigo Branas
Desvendando a linguagem JavaScriptDesvendando a linguagem JavaScript
Desvendando a linguagem JavaScript
Rodrigo Branas18.8K vues
Programando em python interfaces graficas com tk par samuelthiago
Programando em python   interfaces graficas com tkProgramando em python   interfaces graficas com tk
Programando em python interfaces graficas com tk
samuelthiago3.2K vues
Algoritmos e lp parte 1-introdução par Mauro Pereira
Algoritmos e lp parte 1-introduçãoAlgoritmos e lp parte 1-introdução
Algoritmos e lp parte 1-introdução
Mauro Pereira9.1K vues
Cara instal auto cad 2009 par ALAM SEKITAR
Cara instal auto cad 2009Cara instal auto cad 2009
Cara instal auto cad 2009
ALAM SEKITAR2.4K vues
Baja - Batang Aksial Lentur par Yasmin Rosyad
Baja - Batang Aksial Lentur Baja - Batang Aksial Lentur
Baja - Batang Aksial Lentur
Yasmin Rosyad4.5K vues
Estrutura de dados - Lista Circular Duplamente Encadeada e Matriz Esparsa par Lucas Sabadini
Estrutura de dados - Lista Circular Duplamente Encadeada e Matriz EsparsaEstrutura de dados - Lista Circular Duplamente Encadeada e Matriz Esparsa
Estrutura de dados - Lista Circular Duplamente Encadeada e Matriz Esparsa
Lucas Sabadini1.8K vues
Aula: Tendência das interfaces par Janynne Gomes
Aula: Tendência das interfacesAula: Tendência das interfaces
Aula: Tendência das interfaces
Janynne Gomes919 vues
PENGARUH PEMANFAATAN FLY ASH PADA BETON par Vorata Alvorata
PENGARUH PEMANFAATAN FLY ASH PADA BETONPENGARUH PEMANFAATAN FLY ASH PADA BETON
PENGARUH PEMANFAATAN FLY ASH PADA BETON
Vorata Alvorata210 vues
Modelo entidade relacionamento par Carlos Melo
Modelo entidade relacionamentoModelo entidade relacionamento
Modelo entidade relacionamento
Carlos Melo5.9K vues
Modelo de Prototipação par Juliano Pires
Modelo de PrototipaçãoModelo de Prototipação
Modelo de Prototipação
Juliano Pires12.7K vues
Word embeddings introdução, motivação e exemplos par Felipe
Word embeddings  introdução, motivação e exemplosWord embeddings  introdução, motivação e exemplos
Word embeddings introdução, motivação e exemplos
Felipe 2.6K vues

En vedette

Alocação Dinâmica em Linguagem C par
Alocação Dinâmica em Linguagem CAlocação Dinâmica em Linguagem C
Alocação Dinâmica em Linguagem CGlécio Rodrigues
1.6K vues29 diapositives
Pged 02 par
Pged 02Pged 02
Pged 02samuelthiago
618 vues29 diapositives
Pilha e Fila Estática par
Pilha e Fila EstáticaPilha e Fila Estática
Pilha e Fila EstáticaSérgio Souza Costa
9.9K vues140 diapositives
Estrutura de Dados - Aula 04 par
Estrutura de Dados - Aula 04Estrutura de Dados - Aula 04
Estrutura de Dados - Aula 04thomasdacosta
823 vues24 diapositives
Aula 4 vetores par
Aula 4  vetoresAula 4  vetores
Aula 4 vetoresMontenegro Física
7.4K vues50 diapositives
Estrutura de dados - Pilhas par
Estrutura de dados - PilhasEstrutura de dados - Pilhas
Estrutura de dados - PilhasAdriano Teixeira de Souza
29.1K vues28 diapositives

Similaire à Função malloc

Estruturas par
EstruturasEstruturas
EstruturasAgrupamento de Escolas da Batalha
999 vues37 diapositives
Linguagem C 09 Ponteiros par
Linguagem C 09 PonteirosLinguagem C 09 Ponteiros
Linguagem C 09 PonteirosRegis Magalhães
7K vues20 diapositives
RevisãoCompactaFuncoesPonteiro.pptx par
RevisãoCompactaFuncoesPonteiro.pptxRevisãoCompactaFuncoesPonteiro.pptx
RevisãoCompactaFuncoesPonteiro.pptxClaudia Ferlin
4 vues79 diapositives
Introdução a Linguagem C par
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
29.4K vues141 diapositives
Conhecendo ou relembrando C par
Conhecendo ou relembrando CConhecendo ou relembrando C
Conhecendo ou relembrando CVinícius Hax
589 vues50 diapositives
Alocação dinâmica em C par
Alocação dinâmica em CAlocação dinâmica em C
Alocação dinâmica em CBruno Oliveira
929 vues22 diapositives

Similaire à Função malloc(20)

Introdução a Linguagem C par apolllorj
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
apolllorj29.4K vues
Exemplos registros e funções par Carla Lee
Exemplos registros e funçõesExemplos registros e funções
Exemplos registros e funções
Carla Lee1.2K vues
Linguagem c wellington telles - aula 03 par profwtelles
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
profwtelles27 vues
Cet P Sistemas Linguagem C Introducao par mmind
Cet P Sistemas Linguagem C IntroducaoCet P Sistemas Linguagem C Introducao
Cet P Sistemas Linguagem C Introducao
mmind920 vues
Aprendendo objective c - parte 1 par Alamo Saravali
Aprendendo objective c - parte 1Aprendendo objective c - parte 1
Aprendendo objective c - parte 1
Alamo Saravali17.2K vues
8 ponteiros, ponteiros e vetores e alocacao dinamica de memoria par Ricardo Bolanho
8   ponteiros,  ponteiros e vetores e alocacao dinamica de memoria8   ponteiros,  ponteiros e vetores e alocacao dinamica de memoria
8 ponteiros, ponteiros e vetores e alocacao dinamica de memoria
Ricardo Bolanho809 vues

Plus de Agrupamento de Escolas da Batalha

New European Bauhaus and Heritage - an explosion of creativity through Minecraft par
New European Bauhaus and Heritage - an explosion of creativity through MinecraftNew European Bauhaus and Heritage - an explosion of creativity through Minecraft
New European Bauhaus and Heritage - an explosion of creativity through MinecraftAgrupamento de Escolas da Batalha
54 vues31 diapositives
Live event for Digital Technologies To Support Innovative Pedagogies In Vocat... par
Live event for Digital Technologies To Support Innovative Pedagogies In Vocat...Live event for Digital Technologies To Support Innovative Pedagogies In Vocat...
Live event for Digital Technologies To Support Innovative Pedagogies In Vocat...Agrupamento de Escolas da Batalha
35 vues24 diapositives
eTwinning & Plano de Ação para o Desenvolvimento Digital das Escolas (PADDE) par
eTwinning & Plano de Ação para o Desenvolvimento Digital das Escolas (PADDE)  eTwinning & Plano de Ação para o Desenvolvimento Digital das Escolas (PADDE)
eTwinning & Plano de Ação para o Desenvolvimento Digital das Escolas (PADDE) Agrupamento de Escolas da Batalha
141 vues16 diapositives
Aulas à la carte Programar para proteger a Natureza par
Aulas à la carte Programar para proteger a NaturezaAulas à la carte Programar para proteger a Natureza
Aulas à la carte Programar para proteger a NaturezaAgrupamento de Escolas da Batalha
106 vues21 diapositives
II Encontro de Educação de Cantanhede: Jogos de fuga, outra forma de aprender par
II Encontro de Educação de Cantanhede: Jogos de fuga, outra forma de aprenderII Encontro de Educação de Cantanhede: Jogos de fuga, outra forma de aprender
II Encontro de Educação de Cantanhede: Jogos de fuga, outra forma de aprenderAgrupamento de Escolas da Batalha
70 vues16 diapositives
Micro:bits: pensamento computational par
Micro:bits: pensamento computationalMicro:bits: pensamento computational
Micro:bits: pensamento computationalAgrupamento de Escolas da Batalha
318 vues14 diapositives

Plus de Agrupamento de Escolas da Batalha(20)

Função malloc

  • 1. Escola Secundária c/ 3º CEB da Batalha Alocação dinâmica de memória
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15. Resolução Nº 1 1- Pretende-se que faça a alocação de espaço em memória para 10 inteiros. Deverá imprimir os seus respectivos endereço de memórias e o seu conteúdo. int *dados,i;int *p; void main() { clrscr(); dados=(int *)malloc(5*sizeof(int)); if (dados==NULL) { printf (&quot;A alocação não correu bem!!&quot;); exit(1); } p=dados; for (i=0;i<5;i++) { printf(&quot;Digite os numeros&quot;); scanf(&quot;%d&quot;,dados+i);//guarda valores am mem¢ria } for (i=0;i<5;i++) { printf(&quot;Tem o valor %d e est  no endere‡o %d&quot;, *(dados+i),p); //endere‡o de mem¢ria p++; } getch(); }
  • 16.
  • 17.