<?xml version="1.0" encoding="ISO-8859-1"?>

<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/">
	<channel>
		<title>Forum du club des développeurs et IT Pro - Blogs - jmc55</title>
		<link>https://www.developpez.net/forums/blogs/614097-jmc55/</link>
		<description>Developpez.com, le Club des Développeurs et IT Pro</description>
		<language>fr</language>
		<lastBuildDate>Fri, 17 Apr 2026 17:46:10 GMT</lastBuildDate>
		<generator>vBulletin</generator>
		<ttl>15</ttl>
		<image>
			<url>https://forum.developpez.be/images/misc/rss.jpg</url>
			<title>Forum du club des développeurs et IT Pro - Blogs - jmc55</title>
			<link>https://www.developpez.net/forums/blogs/614097-jmc55/</link>
		</image>
		<item>
			<title>Pointeur : une abstraction subtile</title>
			<link>https://www.developpez.net/forums/blogs/614097-jmc55/b1173/pointeur-abstraction-subtile/</link>
			<pubDate>Sun, 28 Feb 2016 10:20:09 GMT</pubDate>
			<description>La notion de pointeur en...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">La notion de pointeur en programmation est un élément d'abstraction puissant mais difficile à comprendre et à manipuler. La plupart des tutoriels l'expliquent d'une façon simple mais peu compréhensible : «  un pointeur est une variable particulière qui contient une adresse » ! et pire encore « le type du pointeur sera le type de l'objet pointé » ! Tout ce qu'il faut pour dégoûter l'apprenti programmeur.<br />
<br />
Cette série d'articles tente de reprendre cette notion d'un point de vue différent disons « non conventionnel ».<br />
<br />
<b><font color="#800000">Entrons dans le vif du sujet.<br />
</font></b><br />
Vous savez ce qu'est une variable : c'est un contenant auquel on donne un nom et dont le contenu peut varier. Par exemple ma variable aura le nom suivant « prenom » et son contenu pourra être « max », « albert », « kevin » etc ou encore ma variable s'appellera « x » et pourra avoir toutes les valeurs numériques possibles ; de même deux autres variables s'appelleront « y » et « z », et pourront avoir également toutes les valeurs numériques possibles. Ainsi lorsque j'écrirai : z=x+y , ceci voudra dire que le contenu actuel de x est ajouté au contenu actuel de y et le résultat de cette addition deviendra le contenu de z.<br />
<br />
<b><font color="#800000">Que se passe-t-il dans la machine ?<br />
</font></b><br />
Toutes les données sont stockées de façon ordonnée, sinon on ne s'y retrouverait pas. Ainsi chaque donnée est repérée par une adresse, comme à la poste. Ou encore on peut imaginer une immense bibliothèque, où chaque livre est repéré par un numéro qui permet de savoir où il se trouve dans les étagères. Le livre est la « donnée » et le numéro « l'adresse » de la donnée. Ainsi dans notre ordinateur « x » est synonyme de « adresse » et cette « adresse » peut contenir la valeur « 4 », si à ce moment du déroulement du programme x vaut 4. « 4 » ici représente le livre située à l'adresse x de la bibliothèque.<br />
<br />
<b><font color="#800000">Résumons simplement :</font></b><br />
Quand vous donnez un nom à une variable, par exemple ici « x », vous ne faites rien d'autres que de donner un nom à une valeur numérique complexe qui, pour le compilateur, est une adresse précise. Dans un ordinateur il existe une très très longue série de numéros qui sont des adresses, et à chacune de ces adresses correspond un contenu : la valeur contenue à cette adresse. Ainsi pour le compilateur « x » désignera, une fois pour toutes et jusqu'à la fin du programme, une adresse donnée par exemple 3 640 933 dans un système qui contiendrait par exemple 10 millions d'adresses. Si le contenu de &quot;x&quot; peut changer, la valeur de l'adresse &quot;x&quot; ne le peut pas.<br />
<br />
Jusqu'à la fin du programme « x » sera synonyme de « adresse 3 640 933 ». Ceci est FONDAMENTAL. Si vous ne l'avez pas compris et définitivement retenu, vous n'avez rien compris !<br />
<br />
Par contre si vous l'avez bien compris, alors voyez maintenant toute la magie du pointeur : un pointeur est une sorte de variable qui peut « changer d'adresse ». C'est en quelque sorte une variable qui peut varier de deux façons. Non seulement comme pour &quot;x&quot; le contenu de la &quot;variable pointée&quot; pourra changer : on avait fait &quot;x=4 et puis on fait &quot;x=6&quot; et alors &quot;x&quot; contient 6 ; mais l'adresse peut aussi changer : on décide maintenant que cette valeur 6 sera contenu ailleurs, à une autre adresse. C'est comme si « x » pouvez changer de nom, donc désigner, en cours de programme, une autre adresse.<br />
<br />
A ce point de l'explication vous avez bien saisi ce qu'est une variable : « un nom équivalent à une adresse donnée » mais une variable qui change de nom, autrement dit un pointeur, cela vous semble un peu bizarre et obscur.<br />
<br />
Retenez donc ceci puis passez à l'article suivant :<br />
<br />
<font color="#800000"><b>Une variable est un nom synonyme d'une adresse et cette adresse est fixe jusqu'à la fin du programme ; un pointeur est une variable CONTENANT une adresse que l'on peut changer durant le programme !</b></font></blockquote>

]]></content:encoded>
			<dc:creator>jmc55</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/614097-jmc55/b1173/pointeur-abstraction-subtile/</guid>
		</item>
		<item>
			<title>Pointeurs : allocation dynamique.</title>
			<link>https://www.developpez.net/forums/blogs/614097-jmc55/b1131/pointeurs-allocation-dynamique/</link>
			<pubDate>Tue, 16 Feb 2016 16:21:06 GMT</pubDate>
			<description>On ne vous a jamais parlé...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">On ne vous a jamais parlé d’allocation statique et pour cause ça n’existe pas vraiment, ou plutôt c’est que l’on fait la plupart du temps. Et comme on le fait tout le temps on n’y pense plus.<br />
<br />
Ainsi lorsque vous définissez une variable en l’appelant « x » vous faites de l’allocation « statique ». Dans l’article précédent (<a href="http://www.developpez.net/forums/blogs/614097-jmc55/b1173/pointeur-abstraction-subtile/" target="_blank">notion de pointeur : une abtraction subtile</a>) je vous ai dit qu’une variable comme « x » était synonyme de « adresse ». On peut en changer le contenu : « x » vaut 4 et puis on fait « x=6 » et maintenant le contenu de « x » vaut 6 et non plus 4. Mais l’adresse « x », elle ne peut pas changer. Seul le contenu de « x » peut changer. J’ai fait de l’allocation « statique ». Le compilateur a demandé au système d’exploitation la disponibilité d’une adresse et jusqu’à la fin du programme cette adresse est « réservée » à la variable « x » ; « x » est synonyme de cette adresse.<br />
<br />
Vous allez maintenant comprendre les rapport étroits qui existe entre <b><font color="#800000">« pointeur » et « allocation dynamique »</font></b>. Lorsqu’en C++ vous faites :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;"><span style="color: #0000ff;">int</span> x<span style="color: black;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: black;">&#41;</span> ;</pre>
</div><br />
vous déclarez une variable “x” que vous initialisez à 4. Le compilateur et le système d’exploitation recherchent pour vous une adresse libre, associent définitivement (à la limite prés de la « portée » de la variable mais nous pouvons pour le moment oublier ce point qui compliquerait l’explication sur les pointeurs) la variable « x » à cette adresse et place la valeur 4 dans la case réservée à l’adresse en question.<br />
<br />
Vous pouvez « prendre la main » sur le compilateur et décidez vous même de réserver une case mémoire en faisant comme ceci :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:60px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">int</span> * ptr ;
ptr = <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">int</span> ;</pre></td></tr></table></pre>
</div><br />
Que signifie tout cela ? L’étoile « * » sert à définir une variable « pointeur » ; ici il s’agit d’un pointeur sur un entier. Si on avait voulu définir un autre pointeur ptr2 sur un double on aurait fait ceci<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;"><span style="color: #0000ff;">double</span> * ptr2 ;</pre>
</div><br />
La deuxième ligne « ptr = new int ; » demande au compilateur de nous réserver une zone mémoire qui sera capable de stocker un entier.<br />
<br />
Dans le cas de la variable « x » il suffisait de faire :<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:60px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
<span style="color: #0000ff;">int</span> x<span style="color: black;">&#40;</span><span style="color: #cc66cc;">4</span><span style="color: black;">&#41;</span> ;</pre></td></tr></table></pre>
</div><br />
et on avait défini une variable entière nommée « x » initialisée à « 4 » et le compilateur s’occupait du reste, c’est à dire de réserver une zone mémoire faite d’une adresse équivalente à « x » et d’un contenu, ici « 4 ».<br />
<br />
Dans le cas du pointeur c’est le programme qui doit le faire et il faut donc l’écrire ; la réservation ne se fait pas toute seule mais se fait par l’exécution de la ligne :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">ptr = <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">int</span> ;</pre>
</div><br />
Ainsi on dispose d’une nouvelle variable et donc d’une nouvelle adresse (nous avons vu que cela était équivalent ) ; avant nous avions « x », maintenant nous avons « ptr » et dans les deux cas il s’agit bien d’une adresse. Vous me direz : « Alors tout ça pour ça !  Au final rien n’a changé et en plus c’est plus compliqué de faire un pointeur qu’une variable toute simple ». Les différences fondamentales sont les suivantes.<br />
<br />
Pour accéder à la valeur contenu à l’adresse « x » on fait, par exemple pour y mettre « 6 » :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">x = <span style="color: #cc66cc;">6</span> ; <span style="color: #808080;">// &agrave; l'adresse &eacute;quivalente &agrave; x il y aura maintenant 6</span></pre>
</div><br />
Et pour « ptr » on doit faire :<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:60px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br /></div></td><td valign="top"><pre style="margin: 0">&nbsp;
*ptr = <span style="color: #cc66cc;">6</span> ; <span style="color: #808080;">// &agrave; l'adresse contenue dans ptr il y aura maintenant 6</span></pre></td></tr></table></pre>
</div><br />
En termes savants on appelle cela dé-référencer un pointeur.<br />
<br />
Mais, alors que vous ne pouvez pas changer l’adresse « x », vous pouvez tout à fait changer l’adresse CONTENUE dans ptr en faisant par exemple :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code  :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">ptr = ptr + 1 ; // attention ceci est dangereux et il faut bien savoir ce que l'on fait mais on y reviendra.</pre>
</div>Cette ligne signifie que si ptr contenait par exemple l’adresse 3 641 325 elle contient maintenant l’adresse 3 641 326 et si je fais :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code c :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;">*ptr = <span style="color: #cc66cc;">8</span> ;</pre>
</div><br />
il y aura la valeur « 8 » à l’adresse 3 641 326 et il y aura toujours 6 à l’adresse 3 641 325 .<br />
<br />
Bien sûr rien de tout cela n’est possible avec la classique variable « x ».<br />
<br />
Vous avez maintenant compris la différence essentielle entre un <font color="#800000"><b>“pointeur” obtenue par “allocation dynamique” et une variable classique,</b></font> mais je comprends tout à fait que vous n’en voyez pas encore tout l’intérêt. Changer le contenu d’une variable, rien de plus naturel, mais vouloir changer le nom de la variable en cours de route, c’est à dire son adresse, cela semble plus dangereux qu’utile.<br />
<br />
La suite va tenter de vous rassurer et peut-être de vous émerveiller !</blockquote>

]]></content:encoded>
			<dc:creator>jmc55</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/614097-jmc55/b1131/pointeurs-allocation-dynamique/</guid>
		</item>
		<item>
			<title>Pointeurs : les bases</title>
			<link>https://www.developpez.net/forums/blogs/614097-jmc55/b1128/pointeurs-bases/</link>
			<pubDate>Tue, 16 Feb 2016 11:10:52 GMT</pubDate>
			<description>Avant de voir les premiers...</description>
			<content:encoded><![CDATA[<blockquote class="blogcontent restore">Avant de voir les premiers usages des pointeurs, il est indispensable de connaître les règles de leur bon usage. En effet si l’utilisation des variables « classiques » est facile et presque sans piège, l’utilisation des pointeurs comporte des difficultés et des pièges.<br />
<br />
Rappelons les notions vues dans les deux premiers articles ( Pointeurs : abstraction subtile ; Pointeur : allocation dynamique ) :<br />
<br />
    <br />
<ul><li style="">un pointeur est une variable particulière qui contient l’adresse d’une variable classique ;</li></ul><br />
     <br />
<ul><li style="">on peut changer la valeur d’un pointeur ce qui le différencie radicalement d’une variable classique ;</li></ul><br />
     <br />
<ul><li style="">en changeant la valeur du pointeur on change donc la valeur de l’adresse ; on dit que le pointeur « pointe » sur une adresse donnée ;</li></ul><br />
     <br />
<ul><li style="">on ne peut se contenter de déclarer un pointeur comme pour une variable classique ; il faut aussi lui « réserver une place » c’est à dire demander au compilateur de réserver une adresse pour le pointeur ; on dit que l’on alloue de la mémoire au pointeur ;</li></ul><br />
     <br />
<ul><li style="">on accède à la valeur contenue à l’adresse indiquée par le pointeur en « dé-référençant » le pointeur ;</li></ul><br />
 <br />
On peut résumer tout cela ainsi :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code C :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:156px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="33"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br /></div></td><td valign="top"><pre style="margin: 0"><span style="color: #0000ff;">int</span> * ptr ; <span style="color: #808080;">// on d&eacute;clare un pointeur sur un entier nomm&eacute; ptr</span>
&nbsp;
ptr = <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">int</span> ; <span style="color: #808080;">// on demande au compilateur de nous r&eacute;server une zone </span>
<span style="color: #808080;">// m&eacute;moire pour ce pointeur</span>
<span style="color: #808080;">// et on pr&eacute;cise qu'il s'agit d'une zone m&eacute;moire qui contiendra un </span>
<span style="color: #808080;">// entier ;</span>
&nbsp;
*ptr = <span style="color: #cc66cc;">6</span> ; <span style="color: #808080;">// on affecte 6 dans la case m&eacute;moire dont l'adresse est contenue dans le pointeur ptr</span>
&nbsp;
prt = ptr + <span style="color: #cc66cc;">1</span> ; <span style="color: #808080;">// on change la valeur du pointeur ptr qui d&eacute;sormais //pointera vers la case m&eacute;moire suivante ce qui n'est pas sans risque ;</span></pre></td></tr></table></pre>
</div><br />
Avant d’aller plus loin il est nécessaire de bien retenir deux règles de bonne conduite qui vous éviterons bien des déboires.<br />
<br />
<b>Première règle.</b><br />
<br />
Il est bon de déclarer NULL un pointeur dès le stade de sa déclaration. On procède ainsi :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code C :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:36px;"><span style="color: #0000ff;">int</span> * ptr = <span style="color: #0080ff;">NULL</span> ;</pre>
</div><br />
Ceci veut dire que l’on affecte pour le moment la valeur NULL c’est à dire 0 au pointeur. La case mémoire d’adresse 0 n’est jamais utilisée. De cette façon le compilateur sait que si un pointeur contient la valeur 0 il ne peut pas être utilisé par le programme car son contenu est pour le moment dénué de sens. Toute tentative d’utilisation du pointeur se soldera par une erreur de compilation et ceci est une SECURITE. Quand je dis toute tentative d’utilisation il faut comprendre toute tentative de dé-référencement : nous avons vu () que affecter une valeur à la case mémoire « pointée » par le pointeur se dit en bon langage dé-référencer le pointeur.<br />
<br />
Pourquoi NULL et pas 0 ?<br />
<br />
C’est là aussi une bonne habitude. En lisant le code on repère beaucoup mieux NULL que 0 et ainsi on peut comprendre : « jusqu’à cette ligne le pointeur ptr est invalide ». Invalide veut dire qu’il n’a pas encore reçu une adresse valide (zéro n’est pas une adresse valide) et que donc il faut se garder de toute tentative de dé-référencement.<br />
<br />
<b>Deuxième règle.</b><br />
<br />
Toute allocation dynamique doit être suivi d’un test de réussite. Ceci se traduit par les lignes de code suivantes :<br />
<br />
<div class="bbcode_container">
	<table width="100%" border="0" cellspacing="0" cellpadding="0"><tr>
	<td style="border: 0; padding: 0; text-align: left">Code C :</td>
	<td style="border: 0; padding: 0; text-align: right"><a href="#" onclick="return ano_selectionnerCode(this);">Sélectionner tout</a> -
	<a href="#" onclick="return ano_etendreCode(this);">Visualiser dans une fenêtre à part</a></td></tr></table>
	<pre class="bbcode_code" style="height:132px;"><table cellspacing="0" cellpadding="0"><tr><td valign="top" width="26"><div style="border: 1px dashed gray; padding-left: 5px; padding-right: 5px; margin-right: 5px; text-align: right; font-family: monospace">1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br /></div></td><td valign="top"><pre style="margin: 0">ptr = <span style="color: #0000ff;">new</span> <span style="color: #0000ff;">int</span> ;
<span style="color: #0000ff;">if</span> <span style="color: black;">&#40;</span>ptr!= <span style="color: #0080ff;">NULL</span><span style="color: black;">&#41;</span>
<span style="color: black;">&#123;</span>
*ptr = <span style="color: #cc66cc;">8</span> ; <span style="color: #808080;">// on peut d&eacute;-r&eacute;f&eacute;rencer sans danger le pointeur c'est &agrave; dire modifier le contenue de la case //m&eacute;moire sur laquelle il pointe ;</span>
<span style="color: black;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">else</span> <span style="color: #808080;">// il faudra ici pr&eacute;voir le cas o&ugrave; du fait par exemple de la saturation de m&eacute;moire il n'y a plus</span>
<span style="color: #808080;">// de place et que la r&eacute;servation d'une nouvelle case m&eacute;moire est devenue impossible.</span></pre></td></tr></table></pre>
</div><br />
Maintenant que vous avez compris ce qu’est un pointeur et comment le déclarer avec précaution nous allons pouvoir examiner l’intérêt d’une telle démarche de « pointeur ».</blockquote>

]]></content:encoded>
			<dc:creator>jmc55</dc:creator>
			<guid isPermaLink="true">https://www.developpez.net/forums/blogs/614097-jmc55/b1128/pointeurs-bases/</guid>
		</item>
	</channel>
</rss>
