Accueil Finances personnelles Comment vérifier l'emplacement d'une variable en programmation C - les nuls

Comment vérifier l'emplacement d'une variable en programmation C - les nuls

Vidéo: Exercices Python - Déterminer La Position d'un Caractère Sur Une Chaine Python 2024

Vidéo: Exercices Python - Déterminer La Position d'un Caractère Sur Une Chaine Python 2024
Anonim

En programmation C, le type et la taille d'une variable sont d'abord découverts en déclarant cette variable comme un type spécifique, mais aussi en utilisant le mot-clé sizeof. La deuxième description d'une variable, son contenu, peut être glanée en lisant la valeur de la variable en utilisant la fonction de langage C appropriée.

La troisième description d'une variable est son emplacement en mémoire. Vous rassemblez ces informations en utilisant l'opérateur & et l'espace réservé% p, comme indiqué dans O Variable, Wherefore Art Thou?

O VARIABLE, QUAND ART THOU?

#include int main () {char c = 'c'; int i = 123; flotteur f = 98. 6; double d = 6. 022E23; printf ("Adresse de 'c'% pn", & c); printf ("Adresse de 'i'% pn", & i); printf ("Adresse de 'f'% pn", & f); printf ("Adresse de 'd'% pn", & d); return (0);}

Lorsque l'opérateur & prefixe une variable, elle renvoie une valeur représentant l'adresse de la variable, ou son emplacement en mémoire. Cette valeur est exprimée en hexadécimal. Pour afficher cette valeur, le caractère de conversion% p est utilisé, comme indiqué dans O Variable, Wherefore Art Thou?

Exercice 1 : Tapez le code source de O Variable, Wherefore Art Thou? dans votre éditeur. Construire et courir.

Les résultats produits par le programme généré par l'exercice 1 sont uniques, non seulement pour chaque ordinateur, mais aussi, potentiellement, pour chaque exécution du programme.

Adresse de 'c' 0x7fff5fbff8ff Adresse de 'i' 0x7fff5fbff8f8 Adresse de 'f' 0x7fff5fbff8f4 Adresse de 'd' 0x7fff5fbff8e8

La variable c est stockée en mémoire à l'emplacement 0x7fff5fbff8ff - c'est la position décimale 140, 734, 799, 804, 671. Les deux valeurs sont, bien sûr, triviales; l'ordinateur garde la trace des emplacements de mémoire, ce qui est très bien par moi.

Cette illustration montre comment ces adresses sont mappées en mémoire.

Les éléments de tableau individuels ont également des emplacements de mémoire, comme indiqué dans Emplacements de mémoire dans un tableau sur la ligne 10. L'opérateur & prefixe la variable d'élément spécifique, crachant une adresse. Le caractère de conversion% p dans la fonction printf () affiche l'adresse.

EMPLACEMENTS DE MEMOIRE DANS UN TABLEAU

#include int main () {char hello [] = "Bonjour!"; int i = 0; while (bonjour [i]) {printf ("% c à% pn", bonjour [i], & bonjour [i]); i ++;} return (0);}

Exercice 2 : Créez un nouveau projet en utilisant le code source affiché dans Emplacements mémoire dans un tableau. Construire et courir.

Encore une fois, la sortie de l'emplacement de mémoire est unique sur chaque ordinateur.

H à 0x7fff5fbff8f0 e à 0x7fff5fbff8f1 l à 0x7fff5fbff8f2 l à 0x7fff5fbff8f3 o à 0x7fff5fbff8f4!à 0x7fff5fbff8f5

Contrairement à l'exemple de l'exercice 1, les adresses générées par l'exercice 2 sont contiguës en mémoire, un octet après l'autre.

Exercice 3 : Codez un programme pour afficher cinq valeurs dans un tableau int avec l'adresse mémoire de chaque élément. Vous pouvez utiliser des emplacements de mémoire dans un tableau pour vous inspirer, même si une boucle for peut être plus facile à coder.

  • Par ailleurs, l'opérateur & memory location devrait vous être familier. Il est utilisé par la fonction scanf (), qui nécessite l'adresse d'une variable, pas la variable elle-même. C'est parce que scanf () place une valeur directement dans un emplacement mémoire. Comment? En utilisant des pointeurs, bien sûr!

  • L'opérateur & est également l'opérateur AND au niveau du bit; cependant, le compilateur est assez intelligent pour dire quand & prefixes une variable et quand & fait partie d'une équation mathématique binaire.

Comment vérifier l'emplacement d'une variable en programmation C - les nuls

Le choix des éditeurs

Utilisant le mode rafale: La photographie d'action des mannequins

Utilisant le mode rafale: La photographie d'action des mannequins

Canon EOS Rebel T1i / 500D nécessite un vitesse d'obturation rapide - et un doigt de déclenchement rapide. Heureusement, le Canon EOS Digital Rebel a un mode Drive (ou Burst), qui enregistre une série continue d'images tant que vous maintenez le bouton de l'obturateur enfoncé. Si vous voulez obtenir de superbes photos d'un sujet en mouvement rapide, le mode Drive ...

En utilisant le mode en direct (détection de visage) sur votre Canon EOS Rebel T6 / 1300

En utilisant le mode en direct (détection de visage) sur votre Canon EOS Rebel T6 / 1300

Lorsque vous activez ce mode, le Rebel T6 recherche les visages dans le cadre. Vous devrez peut-être appuyer brièvement sur le déclencheur pour réactiver l'appareil photo avant que la fonction de détection de visage ne s'enclenche. Si un visage est détecté, l'appareil photo affiche un cadre de mise au point sur le visage, comme indiqué sur ...

En utilisant les modes automatiques sur votre Canon EOS Rebel T3 / 1100D - mannequins

En utilisant les modes automatiques sur votre Canon EOS Rebel T3 / 1100D - mannequins

Pour le plus automatique de la photographie automatique, permettant aux personnes ayant une expérience minimale de capturer de belles images, réglez votre sélecteur de mode Canon EOS Rebel T3 / 1100D sur l'un des deux paramètres suivants: Auto complet: Le nom de ce mode, indiqué dans la figure suivante, indique que le l'appareil photo prend le contrôle total de toutes les expositions, luminosité, flash, ...

Le choix des éditeurs

5 Bons contrôles comptables qui minimisent le vol - les nuls

5 Bons contrôles comptables qui minimisent le vol - les nuls

Voici un résumé de cinq techniques puissantes pour minimiser les problèmes surgissez lorsque vous avez des personnes ayant des niveaux de compétence et de fiabilité différents qui travaillent avec vos données QuickBooks: Comparez régulièrement les inventaires physiques avec les enregistrements de comptabilité d'inventaire. Une des choses que vous pouvez faire, à la fois pour minimiser vos pertes d'inventaire et ...

6 Astuces pour utiliser la stratégie avec QuickBooks - les nuls

6 Astuces pour utiliser la stratégie avec QuickBooks - les nuls

Si vous utilisez QuickBooks pour vous aider à mettre en place une stratégie pratique, il y a quelques choses que vous pourriez vouloir considérer. Assurez-vous de bien comprendre ces points clés: Connaissez les trois stratégies. Habituellement, une entreprise ne peut avoir qu'une stratégie commerciale sur trois: Stratégie basée sur les coûts Stratégie basée sur la différenciation Stratégie axée sur les objectifs Choisissez une stratégie. ...

5 Astuces pour simplifier l'installation de QuickBooks 2014 - les nuls

5 Astuces pour simplifier l'installation de QuickBooks 2014 - les nuls

Si vous êtes une petite entreprise configurant QuickBooks Logiciel de comptabilité 2014, vous apprécierez ces cinq conseils utiles. Minimisez le processus d'installation de QuickBooks avec ces astuces et techniques, et vous obtiendrez une conclusion rapide et réussie. Astuce # 1 de QuickBooks: Convertir en QuickBooks à compter du 1er janvier Convertir en un nouveau système de comptabilité dès le début ...

Le choix des éditeurs

Logique Puzzles pour garder votre esprit net - les mannequins

Logique Puzzles pour garder votre esprit net - les mannequins

Mettent votre casse-tête pour résoudre ces énigmes logiques! Chacun a juste une réponse. Les niveaux sont faciles, délicats, durs et traîtres, «facile» étant (bien sûr) les puzzles les plus faciles, et «traître» étant les plus difficiles. Facile: Combien de fois un mathématicien peut-il soustraire dix de 100? Facile: Déchiffrez cet indice: YYYMEN Tricky: Une femme ...

Maintien de la stabilité de l'humeur dans les troubles bipolaires - mannequins

Maintien de la stabilité de l'humeur dans les troubles bipolaires - mannequins

Plan thérapeutique global qu'une personne atteinte de trouble bipolaire doit suivre et maintenir la stabilité de l'humeur est assez simple. Suivez ce plan de traitement: Prenez vos médicaments tels que prescrits, même lorsque vous vous sentez bien, et consultez votre médecin avant de faire des changements de médicaments. Établir des routines qui assurent un horaire régulier de veille-sommeil. Manque de qualité ...

Faire un pré-accord pour recevoir un traitement pour trouble bipolaire - les variables nominales

Faire un pré-accord pour recevoir un traitement pour trouble bipolaire - les variables nominales

En pleine Manie ou dépression, une personne peut ne pas penser assez clairement pour se faire soigner et peut même refuser le traitement nécessaire. Les êtres chers veulent faire ce qu'il y a de mieux, mais ils hésitent souvent, ne sachant pas quand intervenir et quoi faire. Devraient-ils appeler votre médecin ou votre thérapeute ou vous conduire?