alphasil Posted July 6, 2012 at 10:58 AM Report Share #467656 Posted July 6, 2012 at 10:58 AM Oi; Desta vez é só para perguntar se está bem assim, pelo menos funciona 🙂 Substituir a definição estática do array atletas pela alocação dinâmica, escreva o excerto de código que peça ao user o numero de atletas esperado e reserve dinamicamente espaço. Pus assim: int main() { int num; int *numeros; //ponteiro para usar com alocacao dinamica printf("Quantos atletas quer registar!\n"); scanf("%d", &num); getchar(); numeros=(int*)calloc(num,sizeof(int)); //Uso o calloc visto que tenho um array. if(numeros==NULL) { printf("Erro na alocacao de memoria"); } else { printf("Memoria bem alocada..."); } return 0; } Alguma anomalia ou sugestão? gmc11 Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 11:03 AM Report Share #467659 Posted July 6, 2012 at 11:03 AM se não queres ter N de pessoas a mandar flame responses tira o cast do calloc porque, de resto e como já testaste e viste, o código está correto. claro que o meu estilo de código é diferente, como a seguinte linha: if((numeros = calloc(num,sizeof(int)))==NULL) mas isso é gostos tens também o uso do scanf para leitura de valores do teclado, que é aceitável para quem está a começar. no entanto, vais muito em breve notar que tem sério problemas se os valores de entrada não são os esperados, assim como o encadeamento de scanf's sem limpeza do buffer de leitura. mas como disse, está correto. IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
alphasil Posted July 6, 2012 at 11:15 AM Author Report Share #467660 Posted July 6, 2012 at 11:15 AM Obrigado Fogo, és bem mais prático, quem me dera, daqui a 150 anos talvez consiga simplificar como tu 🙂 * faltava-me o free(numeros) Já tirei o cast numeros=calloc(num,sizeof(int)); gmc11 Link to comment Share on other sites More sharing options...
HappyHippyHippo Posted July 6, 2012 at 11:26 AM Report Share #467663 Posted July 6, 2012 at 11:26 AM (edited) * faltava-me o free(numeros) sim faltava, mas como - estás a aprender - a memória é libertada no fim da execução - a quantidade de memória alocada é pequena - a alocação de memória não é executada dentro de um ciclo - a aplicação é academica - estão sempre a reclamar por ser demasiado exigente com pessoas que estão a aprender deixei isso para mais tarde Edited July 6, 2012 at 11:26 AM by HappyHippyHippo IRC : sim, é algo que ainda existe >> #p@p Portugol Plus Link to comment Share on other sites More sharing options...
pmg Posted July 6, 2012 at 11:47 AM Report Share #467668 Posted July 6, 2012 at 11:47 AM * faltava-me o free(numeros) ... e os #includes 🙂 What have you tried? Não respondo a dúvidas por PM A minha bola de cristal está para compor; deve ficar pronta para a semana. Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código! Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now