Aller au menu - Aller au contenu InformatiqueBientôt...3 568 Zéros connectés -

Aller au menu - Aller au contenu InformatiqueBientôt...3 568 Zéros connectés - 230 507 Membres inscrits Inscription Inscription rapide en 2 minutes Connexion Utilisez votre compte Accueil Cours Forums Participez Études Emploi Boutique Les cours pharesSite WebXHTML / CS SJavascriptPHP / MySQL Ce cours existe en livre : Concevez votre site web avec PHP et MySQL Java EE (J2EE)ProgrammationLangage C Ce cours existe en livre : Apprenez à programmer en C Langage C++Java Ce livre est en précommande : Apprenez à programmer en Java Java (API)PythonVB .NET Systèmes d'exploitationLinux Ce cours existe en livre : Reprenez le contrôle a l'aide de Linux FreeBSDGraphismePhotoshopInfographie 3DBlen derMaya BureautiqueLaTeX Ce cours existe en livre : Rédigez des documents de qualité avec LaTeX Word Tous les cours par catégoriesSite Web (206 Cours)XHTML / CSS, PHP, Divers, Forums, Hébergement, Javascript, Serveur, ID E Systèmes d'exploitation (96 Cours)Linux, MacOS, Windows, BSD Mapping (31 Cours)H alf-Life, Half-Life², Warcraft, Autres Bureautique (29 Cours)Microsoft Office, Ope nOffice.org, Firefox, IRC, Divers Jeux Vidéo (22 Cours)HL & ses mods, Autres jeux Matériel (11 Cours)Général AutresBases de données Mobiles Site du Zéro Programmation (244 Cours)AS / Flash / Flex, Algorithmique, Basic et dérivés, Bibliothèques, C, C++, C# / .NET, Calculatrices, IDE, Erlang, Général, Java, mIRC, Python, Caml / OCaml, Cocoa / Objective-C, Autres langages Graphisme (27 Cours)Dessin, Divers, Flash, Gimp, Dessin vectoriel, PhotoFiltre, Photoshop, POV-Ray Infographie 3D (25 Cours)3D Studio Max, Blender, Maya Multimédia (24 Cours)Audio, Vidéo, After Effects Réseaux ( 18 Cours)Général, Sécurité Accueil des forums Site WebXHTML / CSS Javascript PHP Mapping GoldSource (HL1) Source (HL2) Communauté des zérosDiscussions générales Vos études Présent ion de vos projets Recrutements pour vos projets SciencesMathématiques Physique - Chimie Biologie et Géologie Autres sciences ProgrammationLangage C Langage C++ Lan gage Java Langage Python Bases de données Autres langages, outils et approches Matér iel et logicielsDiscussions informatiques Linux, Mac et *BSD Windows Jeux vidéo Gr aphisme Matériel ConcoursInnov'Game 2011 : A la gloire de Atelier de noël : "Faites votre jeu" Le Site du ZéroSuggestions et Commentaires Designs du Site du Zéro Tutori els du Site du Zéro CoursPour rédiger et participer à la rédaction d'un tutoriel, rejoig nez-nous !NewsPour partager ou participer à la rédaction d'une news, rejoignez-nous !ConcoursInnov'Game 2011 : A la gloire deDernières annoncesStage CDI Ingénieur logic iel C++ (H/F FACTSET JCF CDI Développeur PHP/mySQL (H/F) WEBPROD CDI Consultant MOA (H/F) Small iz beautiful pour Alfi Annonces à la uneCDI 5 Développeurs Java (H/F) S mall iz beautiful pour AIRP CDI Développeur PHP Symfony (H/ Externis Resourcing Tout es les annonces Recrutement à Bac / Bac +1BTSEcoles d'ingénieurs en informatiqueEcol es d'ingénieurs généralistesIUTUniversitésAutres formations diplômantesCPGERecrutement à B +2Ecoles d'ingénieurs en informatiqueEcoles d'ingénieurs généralistesAutres formations diplômantesRecrutement à Bac +3 / Bac +4Ecoles d'ingénieurs en informatiqueEcoles d'in génieurs généralistesAutres formations diplômantesRecrutement à Bac +5DoctoratsAutres form ations diplômantesTrouvez une formation Apprenez à programmer en Java32 25 Acheter Clé USB du site du Zéro4 Go - 8 Go - 16 Go À partir de 15,20 Acheter Concevez votre site web avec PHP et MySQL En savoir plus ? Apprenez à programmer en C En savoir plus ? Reprenez le contrôle à l'aide de Linux En savoir plus ? Rédigez des documents de qualité avec LaTeX En savoir plus ? Tous les produits Cours Forums News Membres Études Code web MP + Cours Nouveau ? Suivez le guide ! Site Web XHTML / CSS Javascript PHP / MySQL Ce cours existe en livre : Concevez votre site web avec PHP et MySQL Java EE (J2EE) Programmation Langage C Ce cours existe en livre : Apprenez à programmer en C Langage C++ Java Ce livre est en précommande : Apprenez à programmer en Java Java (API) Python VB .NET Systèmes d'exploitation Linux Ce cours existe en livre : Reprenez le contrôle a l'aide de Linux FreeBSD Graphisme Photoshop Infographie 3D Blender Maya Bureautique LaTeX Ce cours existe en livre : Rédigez des documents de qualité avec LaTeX Word Tutoriel du jour Créer un thème pour sa PlayStation 3 Rédigez un cours Tous les cours > Le Site du Zéro > Cours > Tutoriels > Programmation > C > Apprenez à programmer en C ! > [Théorie] Techniques avancées > L'allocation dynamique > Lecture du tutoriel L'allocation dynamique Tutoriel89 commentairesHistorique -------------------------------------------------------------------------------- Informations sur le tutoriel Auteur : M@teo21 Difficulté : Licence : Plus d'informations Créé : Le 29/07/2005 à 00:29:36 Modifié : Le 13/10/2010 à 17:45:58 Avancement : 100% 89 commentaires PopularitéVisualisations : 26 878 530 Appréciation des lecteurs : 28 14 88 1814 Retrouvez ce tutoriel en livre dans la boutique Publicité Historique des mises à jourHier à 21:17:13 Correction orthographique suite au report #4060 Le 05/03/2011 à 13:34:20 Corrections orthographiques (#4036). Le 11/01/2011 à 02:55:11 #3600, correction d'une petite faute dans le QCM PartagerImprimer Convertir en PDF Email Twitter Facebook Plus de services MySpace Google Buzz Blogger Y! Buzz MSN Live Encore plus de services Inspirez un grand coup : ce chapitre est le dernier chapitre "théorique" que vous lirez avant un bon moment De quoi va-t-on parler aujourd'hui ? On va voir comment créer une variable manuell ement (= dynamiquement). Quand on déclare une variable, on dit qu'on demande à allouer de la mémoire : Code : C 1 int monNombre = 0; Lorsque le programme arrive à une ligne comme celle-là, il se passe en fait les chos es suivantes : 1.Votre programme demande au système d'exploitation (Windows, Linux, Mac OS...) la permission d'utiliser un peu de mémoire. 2.Le système d'exploitation répond à votre programme en lui indiquant où il peut stocker cette variable (il lui donne l'adresse qu'il lui a réservée). 3.Lorsque la fonction est terminée, la variable est automatiquement supprimée de la mémoire. Votre programme dit au système d'exploitation : "Je n'ai plus besoin de l'e space en mémoire que tu m'avais réservé à telle adresse, merci" (Nota : l'histoire ne préc ise pas si le programme dit "merci" à l'OS, mais c'est tout dans son intérêt parce que c'est l'OS qui contrôle la mémoire ) Jusqu'ici, les choses étaient automatiques. Lorsqu'on déclarait une variable, le sys tème d'exploitation était automatiquement appelé par le programme. Que diriez-vous de faire cela manuellement ? Non pas par pur plaisir de faire q uelque chose de compliqué (même si c'est tentant ), mais plutôt parce que parfois on est obligés de faire comme ça. Dans ce chapitre, nous allons : Etudier le fonctionnement de la mémoire (oui, encore ! ) pour voir la taille que prend une variable en fonction de son type. Puis, nous attaquerons le gros du sujet : nous verrons comment demander manuelle ment de la mémoire au système d'exploitation. On fera ce qu'on appelle de l'allocati on dynamique de mémoire. Enfin, nous verrons l'intérêt de faire une allocation dynamique de mémoire en apprenan t à créer un tableau dont la taille n'est connue qu'à l'exécution du programme. Il est impératif de bien savoir manipuler les pointeurs pour pouvoir lire ce chapi tre ! Si vous avez encore des doutes sur les pointeurs, je vous recommande d'all er relire le chapitre sur les pointeurs avant de commencer quoi que ce soit ! Sommaire du chapitre : La taille des variables Allocation de mémoire dynamique Allocation dynamique d'un tableau Q.C.M. Vous avez dit "programmer" ? Ayez les bons outils ! Votre premier programme Un monde de variables Une bête de calcul Les conditions Les boucles TP : Plus ou Moi ns, votre premier jeu Les fonctions La programmation modulaire A l'assaut des pointeurs Les tableaux Les chaînes de caractères Le préprocesseur Créez vos propres type s de variables ! Lire et écrire dans des fichiers L'allocation dynamique TP : Réalis ation d'un pendu Installation de la SDL Création d'une fenêtre et de surfaces Affi cher des images La gestion des évènements (Partie 1/2) La gestion des évènements (Partie 2/2) TP : Mario Sokoban Maîtrisez le temps ! Ecrire du texte avec SDL_ttf Jouer d u son avec FMOD TP : visualisation spectrale du son Créer une installation Créer u ne icône pour son programme La saisie de texte sécurisée -------------------------------------------------------------------------------- La taille des variables Selon le type de variable que vous demandez à créer (char, int, double, float...), v ous avez besoin de plus ou moins de mémoire. En effet, pour stocker un nombre compris entre -128 et 127 (un char), on n'a bes oin que d'un octet en mémoire (c'est tout petit ). En revanche, un int occupe généralement 4 octets en mémoire. Quant au double, il occup e 8 octets. Le problème est... que ce n'est pas toujours le cas. Cela dépend de votre ordinateur : peut-être que chez vous un int occupe 8 octets, qui sait ? Notre objectif ici est de vérifier quelle taille occupe chacun des types sur votre ordinateur. Il y a un moyen très facile pour savoir cela : utiliser l'opérateur sizeof(). Contrairement aux apparences, ce n'est pas une fonction mais une fonctionnalité de base du langage C. Vous devez juste indiquer entre parenthèses le type que vous v oulez analyser. Pour connaître la uploads/Litterature/ alloc-dynamique-de-memoire.pdf

  • 35
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager