Peixoto 0 Denunciar post Postado Setembro 16, 2006 :( Vejam o códido abaixo: #include <stdio.h> #include <stdlib.h> /* Para usar calloc() */ main (void) { int *p; int a; int i; /* Determina o valor de a em algum lugar */ p= calloc(a,sizeof(int)); /* Aloca a números inteiros p pode agora ser tratado como um vetor com a posicoes/ if (!p) { printf ("** Erro: Memoria Insuficiente **"); exit; } for (i=0; i<a; i++) /* p pode ser tratado como um vetor com a posicoes */ p[i] = i*i; return 0; }Quando rodo este código, recebo a seguinte messagem:Este programa executou uma operação ilegal será fechadoOnde está o erro ? poderia modificar o programa para que ele use a função calloc() corretamete ?Obrigado Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Setembro 18, 2006 Bem p= calloc(a,sizeof(int)); /* Aloca a números inteiros p pode agora ser tratado como um vetor com a posicoes/Aqui faltou fechar um comentário. Depois o problema pode ser que o a não tem nenhum valor, então ele não está armazenando a memória direito. Depois disso sumiu a Falha de segmentação :) Compartilhar este post Link para o post Compartilhar em outros sites
RinaldFN 0 Denunciar post Postado Setembro 19, 2006 No caso p é um ponteiro, e por isso acho que você não pode fazer p p= calloc(a,sizeof(int)) etsá apontando para a primeira posição na memorio que você alocou. Para percorrer a memoria terá que andar com o ponteiro fazendo p++ Compartilhar este post Link para o post Compartilhar em outros sites
skimo-solar 0 Denunciar post Postado Setembro 19, 2006 No caso p é um ponteiro, e por isso acho que você não pode fazer p[i]Pode sim. Vetores são ponteiros :) Compartilhar este post Link para o post Compartilhar em outros sites
Cypher 0 Denunciar post Postado Setembro 19, 2006 Desculpem entrar na vossa pequena discusão sobre se p é ponteiro ou não ... http://forum.imasters.com.br/public/style_emoticons/default/joia.gif mas para acabar com as duvidas skimo-solar tem razão http://forum.imasters.com.br/public/style_emoticons/default/yay.gif 1-0 para skimo-solar :lol: Compartilhar este post Link para o post Compartilhar em outros sites