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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.