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

Preview:

Citation preview

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.

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).

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

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.

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.

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

Rappel : les caractères

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

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

Rappel : les caractères

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

Réponse :Le module ctype.h.

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.

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 *.

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).

Rappel : les chaînes de caractères

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

Réponse :Le module string.h.

Maintenant, place à la partie pratique!

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

Recommended