Ir ao conteúdo
  • Cadastre-se

Aoi Todo

Membro VIP
  • Posts

    56
  • Cadastrado em

  • Última visita

Tudo que Aoi Todo postou

  1. A minha duvida é quando usamos a funcao realloc para aumentar um espaço alocado pela função malloc, e ela muda a posição na memória reservada ( por não ter espaço o suficiente), o espaço antigo reservado é liberado pela função realloc? Escrevi o seguinte programa para poderem entender melhor minha dúvida. #include <stdio.h> #include <stdlib.h> int main() { printf(" tamanho de int: %d \n",sizeof(int)); // int tem 4 bytes int *p1; int *p2; p1 = ( int * ) malloc( 10 * sizeof(int)); // aqui o programa está reservando um espaço na memória com o tamanho de 10 inteiros, // ou seja 40 bytes, e está salvando a primeira posicao desse espaço (vetor) para o ponteiro p1. Certo? p2 = p1; // aqui eu estou salvando a primeira posicao do vetor alocado acima, no ponteiro p2 p1 = ( int * ) realloc( p1 , 100 ); // aqui estou realocando o vetor declarado pelo malloc, e transformando ele num vetor com 100 posições ( 400 bytes) // e estou dando o valor da primeira posicao do vetor para o ponteiro p1. Certo? // agora vem a duvida principal, digamos que na posição da memoria aonde p1 apontava antes do realloc nao houvesse espaco para um vetor de 48 bytes, // isso faria com que outro pedaco da memoria fosse reservado para armazenar o vetor, certo? // porém p2 ainda aponta para o antigo espaco de memoria reservado, aonde estava o vetor de tamanho 10. //Minha duvida e se a funcao realloc libera esse antigo espaco, então qualquer variavel declarada depois do realloc poderia ir parar la // ou se esse espaco continua reservado, e entao seria necessario usar libera-lo mais tarde. // resumindo, a funcao realloc libera o espaco antigo reservado na memoria ou nao? free(p1); free(p2); return 0; } // agradeço muito a quem puder me ajudar!
  2. Olá. eu estou com uma duvida, se é possivel colocar uma funcao na condição de uma estrutura de repeticao, por exemplo: ( vai estar bem resumido) a ideia é a funcao algo ser repetida até ela retornar o valor 1. int algo();{ int alguma coisa,outra; algumas instruções aqui.... if(alguma coisa==outra){ return 0; }else{ return 1; } int main{ while(algo()==0){ // aqui ela ficaria repetindo até retornar 1 } } adicionado 6 minutos depois Ah eu descobri que da sim, É que eu estava fazendo um programa e estava dando erro, eu queria saber se o problema era com isso, mas não era. Obrigado! while(algo()==0){ // aqui ela ficaria repetindo até retornar 1 } \\funciona!
  3. eu recebi a seguinte tarefa": Implemente um sistema completo de transmissão de dados com Mux e Demux, de 4 canais, utilizando os CIs 74153 e 74139." mas não sei o que são canais. acho que são as entradas que o mux controla e as saidas que o demux controla, mas queria ter certeza . Agradeço se alguém souber.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!