15

Points importants de la semaine Les pointeurs. Les chaînes de caractères

Embed Size (px)

Citation preview

Page 1: Points importants de la semaine Les pointeurs. Les chaînes de caractères
Page 2: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Points importants de la semaine

Les pointeurs.

Les chaînes de caractères.

Page 3: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les pointeurs

Qu’est-ce qu’un pointeur ?

Réponse :

Un pointeur est un objet dont le contenu est l’adresse d’un octet en mémoire.

Page 4: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les pointeurs

Que peut-on dire à propos de la ligne qui suit ?

int * ptr1, ptr2;

Réponse :

On déclare deux variables. La première se nomme ptr1 et est un pointeur vers un entier. La seconde se nomme ptr2 et est de type entier (ptr2 n’est donc pas un pointeur).

Page 5: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les pointeurs

En supposant que ptr est un pointeur vers un entier, différenciez les expressions suivantes :

Réponse :&ptr correspond à l’adresse de la variable ptr.

ptr correspond à la variable ptr.

*ptr correspond à l’objet pointé par la variable ptr.

&ptr ptr *ptr

Page 6: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les pointeurs

En supposant que ptr est un pointeur vers un entier et contient l’adresse 1000 (décimale), dites ce que vaut l’expression ptr + 3.

Réponse :

L’expression ptr + 3 vaut 1000 + 3 * sizeof(int). Ainsi, sur un compilateur où les entiers prennent 4 octets, ptr + 3 vaut 1012.

Page 7: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les pointeurs

Vrai ou Faux ?

Deux pointeurs peuvent pointer au même endroit.

Le type d’un pointeur n’a pas d’importance puisque toutes les adresses ont la même taille.

On peut déclarer un pointeur vers un pointeur.

Réponses :Vrai.

Faux.

Vrai.

Page 8: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les caractères

Qu’est-ce que le code ASCII ?

Réponse :Le code ASCII définit une correspondance entre un nombre (une suite de bits) et un symbole du langage écrit. Il utilise 8 bits, ce qui signifie qu’il permet de représenter 256 caractères différents.

http://en.wikipedia.org/wiki/ASCII

Page 9: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les caractères

Quel est le type de l’expression 'a' ?

Réponse :L’expression 'a' est de type int et vaut 97.

Page 10: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les caractères

Quel module offre des fonctions telles que isalpha, isdigit, toupper, etc. ?

Réponse :Le module ctype.h.

Page 11: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les chaînes de caractères

En C, comment se nomme le type permettant de conserver une chaîne de caractères ?

Réponse :C’est une question piège, car il n’y a pas de type défini pour conserver une chaîne de caractère. On utilise généralement un tableau de caractères.

Page 12: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les chaînes de caractères

Quelle différence y a-t-il entre les trois expressions suivantes : 0, '0' et "0" ?

Réponse :0 est une valeur de type int valant 0.'0' est une valeur de type int valant 48."0" est une valeur de type char *.

Page 13: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les chaînes de caractères

Comment le C fait-il pour savoir où se termine une chaîne de caractères ?

Réponse :Une chaîne de caractères se termine toujours par un octet contenant la valeur 0 (ou '\0' qui est équivalent).

Page 14: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Rappel : les chaînes de caractères

Quel module offre des fonctions telles que strlen, strcpy, strcat, etc. ?

Réponse :Le module string.h.

Page 15: Points importants de la semaine Les pointeurs. Les chaînes de caractères

Maintenant, place à la partie pratique!

C’est tout pour la partie théorique de la semaine # 9.