alocação dinamica de memoria [RESOLVIDO]

13. Re: alocação dinamica de memoria [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/09/2019 - 13:58h

Atr escreveu:

malloc(100 * sizeof(var[0]));

Eu estaria definindo 100 bytes ou apenas posições?

malloc recebe um valor em bytes, mas um byte não necessariamente equivale a um objeto, nesse caso você passa o numero de objetos e multiplica pelo tamanho do objeto

malloc( numero_de_objetos * tamanho_do_objeto)

no codigo que você mostrou, você estara alocando 100 objetos do tamanho do tipo da variavel "var", por exemplo se fosse inteiros de tamanho 4, você estaria allocando 400 bytes (provavelmente o alocador interno pode subir esse valor, para alinhamento ou simplesmente pq só trabalha com pedaços)




  



01 02