Introduction. Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de.

Slides:



Advertisements
Présentations similaires
Chapitre annexe. Récursivité
Advertisements

Les fonctions A quoi ça sert ?
Rappels C.
GEF 243B Programmation informatique appliquée Pointeurs et adresses §9.1.
GEF 243B Programmation informatique appliquée
la programmation en langage C
TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
Paramètres et pointeurs
Structures et unions types énumérés Qu'est-ce qu'une structure
Chap. 1 Structures séquentielles : listes linéaires
ESIEE Paris © Denis BUREAU I N Initiation à la programmation avec le langage Java.
8. Les tableaux P. Costamagna – ISEN N1.
Introduction à la programmation (420-PK2-SL) cours 15 Gestion des applications Technologie de linformation (LEA.BW)
Principes de programmation (suite)
Points importants de la semaine Les fonctions. La portée. La passage par copie. Les tableaux.
Cours 7 - Les pointeurs, l'allocation dynamique, les listes chaînées
Introduction à la programmation (420-PK2-SL) cours 12 Gestion des applications Technologie de linformation (LEA.BW)
Récursivité.
Concepts de base : la Classe Pour faire une comparaison simple, une classe serait a priori, une structure C avec des variables et des fonctions.
CSI3525: Concepts des Langages de Programmation Notes # 12: Implementation des Sous-Programmes ( Lire Chapitre 9 )
Les pointeurs 1. Notion de pointeurs cest Travailler avec les pointeurs cest Se rapprocher du matériel Nécessite de bien connaitre le fonctionnement de.
8PRO100 Éléments de programmation Allocation dynamique de la mémoire.
Système d’exploitation : Assembleur
Introduction au paradigme objet Concepts importants surcharge (overload) redéfinition (override) Définition d’une classe Définition des attributs.
© 2007 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java et les Exceptions Peter Van Roy Département dIngénierie Informatique,
Les Classes les structures en C (struct) regroupent des variables : structuration de l'analyse mais problèmes de cohérence problèmes de sécurité d'accès.
Quest-ce quune classe dallocation? Une classe dallocation détermine la portée et la durée de vie dun objet ou dune fonction.
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Récursivité Définition récursive d’un problème. Critère d’arrêt et convergence. Performance des algorithmes récursifs. Résolution d’un problème à l’aide.
Structures de données IFT-2000
Structures de données IFT Abder Alikacem Gestion des exceptions Département dinformatique et de génie logiciel Édition Septembre 2009.
Présentation Structures de Données et TDA
P. Van Roy, LINF1251 LINF1251: Le Langage Java Peter Van Roy Département dIngénierie Informatique, UCL
Efficacité des algorithmes
Chapitre 9 Les sous-programmes.
CSI1502 Principes fondamentaux en conception des logiciels
Méthode et Outils pour la Programmation
Leçon 1 : notion dobjet IUP Génie Informatique Besançon Méthode et Outils pour la Programmation Françoise Greffier Université de Franche-Comté.
Programme de baccalauréat en informatique Programmation Orientée Objets IFT Thierry EUDE Module 6. Gestion des erreurs et des exceptions : Fonctionnement.
Structures de données IFT-2000
Plan cours La notion de pointeur et d’adresse mémoire.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Structures de données IFT Abder Alikacem Semaine 2 Tests sur les pointeurs Département d’informatique et de génie logiciel Édition Janvier 2009.
2.1 - Historique Chapitre 2 : Introduction au langage C++
Ch. PAUL - Piles et Files à l'aide de listes chainées
Programmation Système et Réseau (sous Linux)
Cours Architecture des Systèmes Informatiques
Les Pointeurs et les Tableaux Statiques et Tableaux Dynamiques
La notion de type revisitée en POO
Définir le bon prix pour un produit en 3 clics. Les sociétés qui vendent des produits spéciaux ont beaucoup de difficultés à se créer un catalogue sur.
© 2005 P. Van Roy. All rights reserved. FSAB1402: Informatique 2 Le Langage Java Peter Van Roy Département d’Ingénierie Informatique, UCL
Tutorat en bio-informatique
La programmation système
Différence entre IOS et ANDROID
CSI 3525, Implémentation des sous-programmes, page 1 Implémentation des sous-programmes L’environnement dans les langages structurés en bloc La structure.
1 École des Mines de Saint-Etienne. 158, cours Fauriel Saint-Etienne Cedex 2. Tél Fax Jean-Jacques Girardot
ISBN Chapitre 10 L'implémentation des sous- programmes.
MOCK.
Conception de Programmes - IUT de Paris - 1ère année Cours 2 – Références et passage de paramètres Les Références –Introduction aux références.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O. et au.
Conception de Programmes - IUT de Paris - 1ère année Conception de Programmes Objectifs et organisation du cours Introduction à la P.O.O.
Conception de Programmes - IUT de Paris - 1ère année Quelques éléments du langage C++ Les références La surcharge de fonctions Les fonctions «
8PRO107 Éléments de programmation Les adresses et les pointeurs.
Exercices sur les pointeurs. lireCar/remettreCar Lorsque l’on lit caractère par caractère, on ne peut pas savoir qu’on a atteint un caractère avant de.
Philippe Gandy - 15 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
Conception de Programmes - IUT de Paris - 1ère année Les classes Introduction Déclaration d’une classe Utilisation d’une classe Définition des.
C++ BY AURÉLIEN MODULO MARION. PLAN DES TROIS PRÉSENTATIONS C++ avancé C++ orienté objet Bases de C++
Transcription de la présentation:

Introduction

Les pointeurs Bête noir des programmeurs Pas daide de Visual Studio Sauf en utilisant les « break point » Pas toujours intuitif Facile de sembrouiller Pourtant, le concept est simple…

Organisation du cours Cours : Présentation du principe TP : Mise en pratique sur un exemple simple Cours : Les listes chainées TP : Mise en pratique Cours : lhéritage et les pointeurs TP : Mise en pratique Mini Projet Groupe de 3-4 Vous avez jusquà la fin du mois pour proposer un sujet

Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Nécessite de bien connaitre le fonctionnement de la mémoire Faire des applications rapides Faire des applications bugées Avoir mal à la tête

Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Réserver la mémoire quand on en a besoin Faire des applications bugées Avoir mal à la tête

Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Faire des applications bugées Oublier de libérer la mémoire « segmentation fault » Avoir mal à la tête

Présentation du principe cest Travailler avec les pointeurs cest Se rapprocher du matériel Faire des applications rapides Faire des applications bugées Avoir mal à la tête Des comportements incohérent Des raisonnements très poussés

Rassurons nous un peu… compliqué Les pointeurs, cest compliqué En effet, même les plus grands programmateurs font encore ce genre derreurs (Windows, Half-Life…) ch.. Les pointeurs, cest pour nous faire ch.. En effet, on en aura bientôt plus besoin (java, C#...)

Mais… si Les pointeurs, cest pas si compliqué Avec de la méthode et en prenant du temps, on y arrive (et même facilement) utile Les pointeurs, cest utile Lorsque lon recherche la rapidité (jeux vidéo, programmation Temps réel,…) on est obligé dy passer Lorsque lon fait de grosses applications (Photoshop, Windows…) on est obligé dy passer Lorsque lon fait un programme réseau, on est obligé dy passer … 9

Le matériel mémoire Organisation de la mémoire Programme réel (toto.exe) Comprend le code et les constantes Variables statiques (toutes les variables sauf les pointeurs) Variables dynamiques (les pointeurs) Paramètres des fonctions 10

La pile… Zoom Zoom sur la pile et le tas Augmente quand on appelle une fonction (on empile les paramètres de la fonction et 2-3 autres trucs) Cest ici quon va mettre les valeurs dynamiques (pointeurs) 11

Exemple… Imaginons le main suivant : i 4ABF 4AC0 4ABE 23A9 23AA 23A8 j 23 void main(){ int i; i=58; int j; cout<<j; } 58 F3DE 0F4D 23A7 23A6 23A5 23A4 Prog BSS Tas 23A8 12