Académique Documents
Professionnel Documents
Culture Documents
Séance de TP2-L2-Math-Info
Laboratoire de mathématiques et Informatiques
Les pointeurs
Une valeur de type pointeur repère une variable. En pratique cela signifie qu’une valeur de
type pointeur est l’adresse d’une variable. Pour déclarer une variable pointeur vers un type
de base (int, double, float, …) : partir de la déclaration d’une variable ayant un type de base ;
Ajouter le signe * devant le nom de la variable.
L’opérateur & appliquée à une variable délivre l’adresse de celle ci cette adresse pourra être
affectée à une variable de type pointeur.
int i,j ; //
int *pi ; // pi pointe vers un entier
pi=&i ; // le pointeur pi repère la variable i
*pi=2 ; // initialisation de la valeur pointée par pi
j=*pi+1 ; // une utilisation de la valeur pointée par pi
Exercice 1
Pointeurs et Tableaux
Soient p une valeur pointeur vers des objets de type T (int, double, char, …) et Tab un
tableau dont les éléments sont du même type T.
L’instruction
int Tab[N] ;
int *p, *q ;
p=&Tab[0] ; // p repère le premier élément de Tab ;
q=p+(N-1) ;
De manière générale, si p repère l’élément d’indice i du tableau Tab alors p+j est une valeur
de type pointeur vers T qui repère l’élément d’indice i+j du tableau Tab (en supposant qu’il
existe).
Exercice 2
Déclarer et initialiser statiquement un tableau d’entiers Tab avec des valeurs dont certaines
seront nulles. Ecrire une procédure qui parcoure le tableau Tab et qui imprime les index des
éléments nuls du tableau sans utiliser aucune variable de type entier.
Exercice
On va coder un algorithme de cryptage simple on choisit un décalage par exemple Ainsi une
lettre a sera remplacé par une lettre f, une lettre b par g, etc. On ne cryptera que les lettres
majuscules et minuscules sans toucher à la ponctuation ni a la mise en page caractères blancs.
2-) écrire une procédure CRYPT de cryptage d’un caractère qui sera passé par adresse.
3-) écrire le main qui activera le CRYPT sur l’ensemble de méssage et imprimera le résultat.