/* Fichier ptr_suite.cpp matière : 1. pointeur vs tableau 2. arithmétique de pointeur 3. pointeur vers le type structure Explications : Mercredi le 11 juin */ #include #include #include using namespace std; struct Employe { int numero ; float salHebdo; }; void continuer() { char reponse ; cout << "\nAppuyez sur une lettre suivie de Entree " ; cin >> reponse ; } void afficher(int * p, int nbPers, string mess) { cout << endl << "Affichage du tableau des ages en " << mess << " :\n"; for(int i = 0; i < nbPers; i++) { cout << setw(3) << i << ") " << setw(6) << *p << endl ; p++; } cout << endl ; } int main() { int age[] = { 25, 18, 42, 19, 31, 28, 30, 28}, nbPers = sizeof(age) / sizeof(int); cout << "Declaration : int age[] = { 25, 18, 42, 19, 31, 28, 30, 28}, ...\n"; cout << "age vaut " << (int) age << endl ; cout << "&age[0] vaut " << (int) &age[0] << endl << endl ; int * p = &age[1] ; cout << "age[1] vaut " << age[1] << endl ; cout << "*p vaut " << *p << endl ; p++; cout << "age[2] vaut " << age[2] << endl ; cout << "*p vaut " << *p << endl << endl ; afficher(age, nbPers, "utilisant de pointeur"); p = &age[4]; p += 2; cout << "*p vaut : " << *p << " et age[6] vaut " << age[6] << endl ; p -= 3 ; cout << "*p vaut : " << *p << " et age[3] vaut " << age[3] << endl ; Employe emp1 = {1234, 2345.67}; Employe * ptr = &emp1; cout << "Numero de emp1 : " << ptr->numero << endl ; cout << "Sal. hebdo de emp1 : " << ptr->salHebdo << endl ; continuer(); return 0; } /* Exécution : Declaration : int age[] = { 25, 18, 42, 19, 31, 28, 30, 28}, ... age vaut 2686676 &age[0] vaut 2686676 age[1] vaut 18 *p vaut 18 age[2] vaut 42 *p vaut 42 Affichage du tableau des ages en utilisant de pointeur : 0) 25 1) 18 2) 42 3) 19 4) 31 5) 28 6) 30 7) 28 *p vaut : 30 et age[6] vaut 30 *p vaut : 19 et age[3] vaut 19 Numero de emp1 : 1234 Sal. hebdo de emp1 : 2345.67 Appuyez sur une lettre suivie de Entree */