imcomprehension allocation mémoire
Bonjour,
je voulais avoir quelques explications sur la fonction malloc et calloc;
En effet, j'ai bien compris que ces deux fonctions allouaient de la mémoire mais je ne comprends pas comment on peut définir le début de cette allocation.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
|
/* allocation memoire */
/**********************/
i= (float *)calloc(nbrcoef,sizeof(float));
printf("adresse de i=%d",i);
j = (float *)calloc(nbrcoef,sizeof(float));
if (i==NULL || j==NULL)
{
printf("Erreur d'allocation mémoire !!!");
exit(1);
}
else
{
printf("memoire allouee");
} |
i et j sont des pointeurs.
Mais lorsque j'affiche la valeur de ces pointeurs apres l'allocation, cette derniere est differente de celle a l'origine.
Je ne comprend pas comment définir de la mémoire a partir d'une adresse précise.
Est ce que le fait d'utiliser ces fonctions réinitialise les pointeurs?
Merci d'avance.