| 12
 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