seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^

Participe do fórum, é rápido e fácil

seja bem vindo ao forum eof, caso nao seja cadastrado se cadastre para poder visualizar todo o conteudo ^^
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Você não está conectado. Conecte-se ou registre-se

[tutorial] funçao malloc

Ir para baixo  Mensagem [Página 1 de 1]

1[tutorial] funçao malloc Empty [tutorial] funçao malloc Sáb Jun 02, 2012 2:38 pm

Kodo no Kami

Kodo no Kami
master
master

a função malloc permite alocar uma quantidade de espaço na memoria assim podendo usar ela para criar variaveis, a vantagem de usar o malloc e quando se cria funçoes dinamicas q sao destruidas logo apos o uso, mesmo depois da funçao ser destruida os dados dentro da variavel q vc crio ainda vai continuar a menos q vc libere o espaço na memoria, veja abaixo uma funçao q se chama fts

Código:
#include <stdio.h>

int fts(int numero)
{
  int lol = lol + numero;
  return 0;
}

int main(void)
{
  fts(315);
}

na source acima pode ver q agente fez uma funçao chamada fts q recebe um numero como argumento e atribui esse numero a variavel lol, se agente chama a funçao fts denovo nao vai ficar salvo o valor da variavel pq elas sao dinamicas, outro exemplo seria passar o endereço de uma variavel da funçao fts como retorno (a funçao ia ser destruida e conteudo dela tambem) entao agente nao poderia acessar o valor dela um geito seria tranformar essa variavel em uma variavel estatica usando o comando static ou entao alocar os dados fora da pilha da funçao, como esse tutorial e para ensinar o malloc entao nao vou entrar em detalhes das variaveis static, para alocar um espaço basta usar o comando malloc() e passar como argumento o tamanho da variavel (para isso agente usa o sizeof dentro do malloc q retorna o tamanho de uma variavel ou tipo), depois vamos atribuir esse malloc a um ponteiro do tipo da nossa variavel mais ou menos assim

int *pont = malloc(sizeof(int));

so lembrando q a funçao malloc ta dentro da biblioteca stdlib.h entao tem q declarar ela tambem, depois de criar o ponteiro e atribuir o malloc para ele agora vamos atribuir um valor a nossa variavel para isso agente atribui ao ponteiro assim

Código:
#include <stdlib.h>

int main(void)
{
  int *pont = malloc(sizeof(int));
  *pont = 315;
}

para exibir basta exibir o ponteiro assim

Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int *pont = malloc(sizeof(int));
  *pont = 315;
  printf("%d",*pont);
}

quando agente nao precisar mais da variavel basta liberar ela com o comando free()

Código:
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
  int *pont = malloc(sizeof(int));
  *pont = 315;
  printf("%d \n",*pont);
  free(pont);
  printf("%d",*pont);
}

bom galera existe outros comando q permite manipular a memoria o malloc so e um deles ^^

by hacker fts315

https://endoffile.umforum.net

Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos