[Plan du site]
Vous êtes ici ---
> Le Site du Zéro
> Les tutoriels
> Apprenez à programmer en C ! > [Théorie] Techniques avancées > L'allocation dynamique
> Statistiques du QCM
Statistiques de réponses au QCM
<= Retour au cours
Quelle fonction standard utilise-t-on pour arrêter immédiatement le programme en cas d'erreur critique (par exemple si un malloc n'a pas marché) ?
-
critik
(0.3 %)
-
end
(1.5 %)
-
exit
(96.5 %)
-
stop
(1.7 %)
Un int occupe 4 octets en mémoire. On crée un tableau de 10 int. Ce tableau est placé à l'adresse 15060 en mémoire.
A partir de quelle adresse pourra être stockée la prochaine variable en mémoire ? Autrement dit, quelle est la première adresse libre après le tableau ?
-
15060
(2.5 %)
-
15100
(53.2 %)
-
15101
(33.3 %)
-
15061
(3.4 %)
-
15070
(4.4 %)
-
15071
(3.2 %)
Quelles sont les étapes à suivre dans l'ordre lorsqu'on alloue dynamiquement de la mémoire ?
-
malloc, vérification de la validité du pointeur, utilisation de la mémoire, free
(97.2 %)
-
free, vérification de la validité du pointeur, malloc, utilisation de la mémoire
(1.3 %)
-
malloc, utilisation de la mémoire, free, vérification de la validité du pointeur
(1.5 %)
Quelle est l'erreur qui s'est glissée dans ce programme ?
Code : C 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | int main(int argc, char *argv[])
{
long* pointeur = NULL;
pointeur = malloc(sizeof(long));
if (pointeur == NULL)
{
exit(0);
}
printf("Quel age avez-vous ? ");
scanf("%ld", &pointeur);
printf("Vous avez %ld ans\n", *pointeur);
free(pointeur);
return 0;
}
|
-
Il y a une * en trop devant le pointeur dans la ligne du printf
(12.7 %)
-
Il y a un & en trop devant le pointeur dans la ligne du scanf
(77.3 %)
-
Il manque une * devant le pointeur dans la ligne du malloc
(10 %)
Que se passe-t-il si je fais l'opération suivante ?
Code : C1 | malloc(sizeof(int) * 25);
|
-
Cela réserve de la mémoire pour un int de 25 octets
(14 %)
-
Cela réserve de la mémoire pour un float de 25 octets
(1.2 %)
-
Cela réserve de la mémoire pour un tableau de float de 25 cases
(1.4 %)
-
Cela réserve de la mémoire pour un tableau d'int de 25 cases
(83.5 %)
<= Retour au cours