1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
|
void test2(int* toto)
{
if(toto==NULL)
{
// l'objet devenu toto n'existe pas dans la fonction appelante,
// que faire?
}
else
{
// l'objet devenu toto existe dans la fonction appelante que faire ?
}
}
int main()
{
int tab[10];
int *ptr=NULL;
test2(tab);/* test2 peut parcourrir le tableau, mais pas modifier le
nombre d'élement qu'il contient (non alloué dynamiquement)
et passe dans la partie "faux" du test */
test2(ptr);/* recoit NULL (pas dans la partie "vrai" du test) */
ptr=new int[10]/* alloue dynamiquement la mémoire nécessaire pour 10
entiers */
test2(ptr);/* test2 peut parcourrir le tableau et passe dans la partie
"faux" du test (ptr vaut l'adresse à laquelle se trouve le
premier élément du tableau) */
} |
Partager