Programmation C-C++/Pointeurs et références

Les pointeurs sont des variables très utilisées en C et en C++. Ils doivent être considérés comme des variables, il n'y a rien de sorcier derrière les pointeurs. Cependant, les pointeurs ont un domaine d'application très vaste.
Les références sont des identificateurs synonymes d'autres identificateurs, qui permettent de manipuler certaines notions introduites avec les pointeurs plus souplement. Elles n'existent qu'en C++.

Programmation C-C++/Notion d'adresse
Notion d'adresse.
Tout objet manipulé par l'ordinateur est stocké dans sa mémoire. On peut considérer que cette mémoire est constituée d'une série de « cases », cases dans lesquelles sont stockées les valeurs des variables ou les instructions du programme. Pour pouvoir accéder à un objet (la valeur d'une variable ou les instructions à exécuter par exemple), c'est-à-dire au contenu de la case mémoire dans laquelle cet objet est enregistré, il faut connaître le numéro de cette case. Autrement dit, il faut connaître l'emplacement en mémoire de l'objet à manipuler. Cet emplacement est appelé l'adresse de la case mémoire, et par extension, l'adresse de la variable ou l'adresse de la fonction stockée dans cette case et celles qui la suivent.
Toute case mémoire a une adresse unique. Lorsqu'on utilise une variable ou une fonction, le compilateur manipule l'adresse de cette dernière pour y accéder. C'est lui qui connaît cette adresse, le programmeur n'a pas à s'en soucier.

Programmation C-C++/Notion de pointeur
Notion de pointeur.
Une adresse est une valeur. On peut donc stocker cette valeur dans une variable. Les pointeurs sont justement des variables qui contiennent l'adresse d'autres objets, par exemple l'adresse d'une autre variable. On dit que le pointeur pointe sur la variable pointée. Ici, pointer signifie « faire référence à ». Les adresses sont généralement des valeurs constantes, car en général un objet ne se déplace pas en mémoire. Toutefois, la valeur d'un pointeur peut changer. Cela ne signifie pas que la variable pointée est déplacée en mémoire, mais plutôt que le pointeur pointe sur autre chose.
Afin de savoir ce qui est pointé par un pointeur, les pointeurs disposent d'un type. Ce type est construit à partir du type de l'objet pointé. Cela permet au compilateur de vérifier que les manipulations réalisées en mémoire par l'intermédiaire du pointeur sont valides. Le type des pointeur se lit « pointeur de ... », où les points de suspension représentent le nom du type de l'objet pointé.
Les pointeurs se déclarent en donnant le type de l'objet qu'ils devront pointer, suivi de leur identificateur précédé d'une étoile :
 int *pi; // pi est un pointeur d'entier.
Note : Si plusieurs pointeurs doivent être déclarés, l'étoile doit être répétée :
 int *pi1, *pi2, j, *pi3;
Ici, pi1, pi2 et pi3 sont des pointeurs d'entiers et j est un entier.
Exemple pour une architecture 32 bits où codice_1 :
Il est possible de faire un pointeur sur une structure dans une structure en indiquant le nom de la structure comme type du pointeur :
 typedef struct nom
 struct nom *pointeur; /* Pointeur sur une structure "nom". */
 } MaStructure;
Ce type de construction permet de créer des listes de structures, dans lesquelles chaque structure contient l'adresse de la structure suivante dans la liste. Nous verrons plus loin un exemple d'utilisation de ce genre de structure.
Il est également possible de créer des pointeurs sur des fonctions, et d'utiliser ces pointeurs pour paramétrer un algorithme, dont le comportement dépendra des fonctions ainsi pointées. Nous détaillerons plus loin ce type d'utilisation des pointeurs.

Enseignement de l'anglais/Proverbes
Short reckonings make long friends : "Les bons comptes font les bons amis"
Every cloud has a silver lining : "Après la pluie, le beau temps"
It's the last straw that breaks the camel's back : "C'est la goutte d'eau qui fait déborder le vase"
He was not born yesterday : "Il n'est pas né de la dernière pluie"
To add fuel to the flames : "Jeter de l'huile sur le feu"
Better late than never : "Mieux vaut tard que jamais"
An eye for an eye and a tooth for a tooth : "Œil pour œil, dent pour dent"
When the cows come home : "Quand les poules auront des dents"
Like father, like son : "Tel père, tel fils"
Spare a rod and spoil the child : "Qui aime bien, châtie bien" (a rod = "une badine", "une verge") 
Don't teach your grandmother to suck eggs : "On n'apprend pas à un vieux singe à faire la grimace"
It runs in the family ! "C'est de famille !"
Don't tell tales out of school : "Il faut savoir tenir sa langue"
In the country of the blind, the one-eyed man is king : Au pays des aveugles, les borgnes sont rois"
Necessity knows no law : "Nécessité fait loi"
Time is the great healer : "Le temps guérit tout"
Sufficient unto the day is the evil thereof : "A chaque jour suffit sa peine"
Never put off till tomorrow what may be done before : "Ne jamais remettre au lendemain ce qui peut être fait le jour même"
God helps those who help themselves : "Aide-toi, le Ciel t'aidera"
Talk of the devil and he is sure to appear :"Quand on parle du loup, on en voit la queue"
(Every man for himself and) the devil takes the hindmost : "Sauve qui peut !"
The road to hell is paved with good intentions : "La route vers l'Enfer est pavée de bonnes intentions"
It's a small world : "Le monde est petit"
It never rains but it pours : "Un malheur n'arrive jamais seul"
Make the hay while the sun shines : "Il faut battre le fer tant qu'il est encore chaud"
If you want peace, you must prepare for war : "Qui veut la paix prépare la guerre"
Nature abhors a vacuum : "La nature a horreur du vide"
Speech is silver, silent is gold : "La parole est d'argent, le silence est d'or"
Silence means consent : "Qui ne dit mot, consent"
Time will tell : "L'avenir le dira / Qui vivra verra"
Brevity is the soul of wit : "Les plaisanteries les plus courtes sont les meilleures"
A friend in need is a friend indeed : "C'est dans le besoin que l'on reconnaît ses vrais amis"
The more, the merrier : "Plus on est de fous, plus on rit"
Love is blind : "L'amour est aveugle"
Man is a wolf to man : "L'homme est un loup pour l'homme"
Revenge is sweet : "La vengeance est un plat qui se mange froid"
It's yesterday's news : "C'est dépassé"
No news is good news : "Pas de nouvelles, bonnes nouvelles"
Bad news travels fast : "Les nouvelles vont vite"
Cette page est dérivée du projet Fury Language
Retour au sommaire

Analyse/Formules de Taylor
Attention: Il s'agit de la formule de Taylor-Lagrange et non celle de Taylor-Young
Soit formula_1 une fonction définie et formula_2 fois dérivable sur un segment formula_3, formula_4 fois dérivable sur l'intervalle ouvert formula_5, alors il existe un réel formula_6 de formula_5 tel que : 
formula_8