<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	
	>
<channel>
	<title>Commentaires pour C : coups de cœur et coups de gueule</title>
	<atom:link href="https://blog.developpez.com/kirilenko/comments/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/kirilenko</link>
	<description>Write in C!</description>
	<lastBuildDate>Wed, 24 Apr 2013 16:46:21 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Commentaires sur Récursivité en C, épidémie ou hérésie ? par Kirilenko</title>
		<link>https://blog.developpez.com/kirilenko/p11930/divers/recursivite-en-c-epidemie-ou-heresie#comment-11</link>
		<dc:creator><![CDATA[Kirilenko]]></dc:creator>
		<pubDate>Wed, 24 Apr 2013 16:46:21 +0000</pubDate>
		<guid isPermaLink="false">http://blog.developpez.com/kirilenko/?p=12#comment-11</guid>
		<description><![CDATA[Bien vu ; tu risques de chercher longtemps.]]></description>
		<content:encoded><![CDATA[<p>Bien vu ; tu risques de chercher longtemps.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Récursivité en C, épidémie ou hérésie ? par Kirilenko</title>
		<link>https://blog.developpez.com/kirilenko/p11930/divers/recursivite-en-c-epidemie-ou-heresie#comment-10</link>
		<dc:creator><![CDATA[Kirilenko]]></dc:creator>
		<pubDate>Tue, 23 Apr 2013 10:42:08 +0000</pubDate>
		<guid isPermaLink="false">http://blog.developpez.com/kirilenko/?p=12#comment-10</guid>
		<description><![CDATA[Salut, merci pour ton commentaire.

Mémoisation, tu veux dire (j&#039;ai toujours entendu le terme anglicisé, mais je pense qu&#039;on se comprend) ? Après, ça devient plus de l&#039;algorithmique, puisque ça rejoint le paradigme de la programmation dynamique. Si on veut vraiment envisager la récursivité en tant que solveur de problème, on peut aller très loin. Et il y a déjà plein de cours sur le Web qui font très bien le boulot.

BTW, si on peut se permettre une complexité en espace non constante, il y a toujours moyen de faire une lookup table pour une factorielle. Vu qu&#039;à partir de 13!, on dépasse la capacité d&#039;un entier non signé sur 32 bits. Donc en pratique, il y a peu de chance que la solution récursive (ni même itérative) soit privilégiée. On va dire que la factorielle principalement un exemple « scolaire ».

Après, avec Fibonacci, je te rejoins complètement (même si la mémoïsation se fait, dans ce cas-là, encore plus naturellement... en itératif). Mais c&#039;est une autre histoire.]]></description>
		<content:encoded><![CDATA[<p>Salut, merci pour ton commentaire.</p>
<p>Mémoisation, tu veux dire (j&rsquo;ai toujours entendu le terme anglicisé, mais je pense qu&rsquo;on se comprend) ? Après, ça devient plus de l&rsquo;algorithmique, puisque ça rejoint le paradigme de la programmation dynamique. Si on veut vraiment envisager la récursivité en tant que solveur de problème, on peut aller très loin. Et il y a déjà plein de cours sur le Web qui font très bien le boulot.</p>
<p>BTW, si on peut se permettre une complexité en espace non constante, il y a toujours moyen de faire une lookup table pour une factorielle. Vu qu&rsquo;à partir de 13!, on dépasse la capacité d&rsquo;un entier non signé sur 32 bits. Donc en pratique, il y a peu de chance que la solution récursive (ni même itérative) soit privilégiée. On va dire que la factorielle principalement un exemple « scolaire ».</p>
<p>Après, avec Fibonacci, je te rejoins complètement (même si la mémoïsation se fait, dans ce cas-là, encore plus naturellement&#8230; en itératif). Mais c&rsquo;est une autre histoire.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Récursivité en C, épidémie ou hérésie ? par bredelet</title>
		<link>https://blog.developpez.com/kirilenko/p11930/divers/recursivite-en-c-epidemie-ou-heresie#comment-9</link>
		<dc:creator><![CDATA[bredelet]]></dc:creator>
		<pubDate>Tue, 23 Apr 2013 09:47:42 +0000</pubDate>
		<guid isPermaLink="false">http://blog.developpez.com/kirilenko/?p=12#comment-9</guid>
		<description><![CDATA[La transformation en CPS (passage de continuation) permet de traduire automatiquement en itératif, en recodant la pile pour ne préserver que les variables nécessaires à la continuation.

La factorielle est un mauvais exemple car il n&#039;y a pas d&#039;avantage par rapport au récursif, mais voilà comment ça marche:

La continuation de factorial_2(n - 1) est:

   return n * (résultat);

Donc il faut préserver n. Quand factorial_2(n - 1) a un résultat à retourner, au lieu de faire un retour de fonction normal, elle place le résultat sur la pile et se rend à l&#039;adresse que l&#039;appelant lui a fourni - l&#039;adresse du code de la continuation.

Ce code multiplie la valeur de n qui a été préservée avec la valeur sur la pile. Le résultat est passé à la continuation suivante de la même manière.

C&#039;est le principe du langage dodo. http://blog.developpez.com/dodo]]></description>
		<content:encoded><![CDATA[<p>La transformation en CPS (passage de continuation) permet de traduire automatiquement en itératif, en recodant la pile pour ne préserver que les variables nécessaires à la continuation.</p>
<p>La factorielle est un mauvais exemple car il n&rsquo;y a pas d&rsquo;avantage par rapport au récursif, mais voilà comment ça marche:</p>
<p>La continuation de factorial_2(n &#8211; 1) est:</p>
<p>   return n * (résultat);</p>
<p>Donc il faut préserver n. Quand factorial_2(n &#8211; 1) a un résultat à retourner, au lieu de faire un retour de fonction normal, elle place le résultat sur la pile et se rend à l&rsquo;adresse que l&rsquo;appelant lui a fourni &#8211; l&rsquo;adresse du code de la continuation.</p>
<p>Ce code multiplie la valeur de n qui a été préservée avec la valeur sur la pile. Le résultat est passé à la continuation suivante de la même manière.</p>
<p>C&rsquo;est le principe du langage dodo. <a href="http://blog.developpez.com/dodo" rel="nofollow">http://blog.developpez.com/dodo</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Récursivité en C, épidémie ou hérésie ? par thierryler</title>
		<link>https://blog.developpez.com/kirilenko/p11930/divers/recursivite-en-c-epidemie-ou-heresie#comment-8</link>
		<dc:creator><![CDATA[thierryler]]></dc:creator>
		<pubDate>Tue, 23 Apr 2013 09:08:19 +0000</pubDate>
		<guid isPermaLink="false">http://blog.developpez.com/kirilenko/?p=12#comment-8</guid>
		<description><![CDATA[Tu peux aussi parler de la mémorisation. Dans le cas du factoriel, on ne va pas tant gagner. Par contre sur du Fibo, ça joue beaucoup.

Et il ne faut jamais oublier une petite étude mathématique pour calculer directement le résultat.]]></description>
		<content:encoded><![CDATA[<p>Tu peux aussi parler de la mémorisation. Dans le cas du factoriel, on ne va pas tant gagner. Par contre sur du Fibo, ça joue beaucoup.</p>
<p>Et il ne faut jamais oublier une petite étude mathématique pour calculer directement le résultat.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Récursivité en C, épidémie ou hérésie ? par edgarjacobs</title>
		<link>https://blog.developpez.com/kirilenko/p11930/divers/recursivite-en-c-epidemie-ou-heresie#comment-7</link>
		<dc:creator><![CDATA[edgarjacobs]]></dc:creator>
		<pubDate>Sun, 21 Apr 2013 16:29:47 +0000</pubDate>
		<guid isPermaLink="false">http://blog.developpez.com/kirilenko/?p=12#comment-7</guid>
		<description><![CDATA[Je n&#039;ai pas encore d&#039;exemple de récursivité avec le Seigneur des Anneaux.... mais je cherche....]]></description>
		<content:encoded><![CDATA[<p>Je n&rsquo;ai pas encore d&rsquo;exemple de récursivité avec le Seigneur des Anneaux&#8230;. mais je cherche&#8230;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Les variables d&#8217;environnement par Kirilenko</title>
		<link>https://blog.developpez.com/kirilenko/p10640/lenvironnement/les_variables_d_environnement#comment-6</link>
		<dc:creator><![CDATA[Kirilenko]]></dc:creator>
		<pubDate>Sat, 20 Apr 2013 13:38:40 +0000</pubDate>
		<guid isPermaLink="false">#comment-6</guid>
		<description><![CDATA[Salut,

Tu compiles avec quoi ? Erreur de syntaxe avec Clang 2.8 et GCC 4.4.5 chez moi... Et je ne vois aucune indication dans les normes pour une telle liberté.]]></description>
		<content:encoded><![CDATA[<p>Salut,</p>
<p>Tu compiles avec quoi ? Erreur de syntaxe avec Clang 2.8 et GCC 4.4.5 chez moi&#8230; Et je ne vois aucune indication dans les normes pour une telle liberté.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Les variables d&#8217;environnement par ram-0000</title>
		<link>https://blog.developpez.com/kirilenko/p10640/lenvironnement/les_variables_d_environnement#comment-5</link>
		<dc:creator><![CDATA[ram-0000]]></dc:creator>
		<pubDate>Fri, 01 Mar 2013 17:02:28 +0000</pubDate>
		<guid isPermaLink="false">#comment-5</guid>
		<description><![CDATA[tu peux aussi ne pas nommer le paramètre pour ne pas avoir de warning à la compilation. Ex : 
int main(int /*argc*/, char * /*argv[]*/, char *envp[])
{
...]]></description>
		<content:encoded><![CDATA[<p>tu peux aussi ne pas nommer le paramètre pour ne pas avoir de warning à la compilation. Ex :<br />
int main(int /*argc*/, char * /*argv[]*/, char *envp[])<br />
{<br />
&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Les variables d&#8217;environnement par Bktero</title>
		<link>https://blog.developpez.com/kirilenko/p10640/lenvironnement/les_variables_d_environnement#comment-3</link>
		<dc:creator><![CDATA[Bktero]]></dc:creator>
		<pubDate>Wed, 11 Jan 2012 21:45:15 +0000</pubDate>
		<guid isPermaLink="false">#comment-3</guid>
		<description><![CDATA[Euh oui c&#039;est logique en fait.&lt;br /&gt;
&lt;br /&gt;
Quand tu veux récupérer la valeur variable, t&#039;es obligée de parcourir en faisant une comparaison à chaque élément pour la trouver, puis de découper la chaine grâce à l&#039;espace ?]]></description>
		<content:encoded><![CDATA[<p>Euh oui c&rsquo;est logique en fait.</p>
<p>Quand tu veux récupérer la valeur variable, t&rsquo;es obligée de parcourir en faisant une comparaison à chaque élément pour la trouver, puis de découper la chaine grâce à l&rsquo;espace ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Les variables d&#8217;environnement par kirilenko</title>
		<link>https://blog.developpez.com/kirilenko/p10640/lenvironnement/les_variables_d_environnement#comment-2</link>
		<dc:creator><![CDATA[kirilenko]]></dc:creator>
		<pubDate>Wed, 11 Jan 2012 17:43:28 +0000</pubDate>
		<guid isPermaLink="false">#comment-2</guid>
		<description><![CDATA[Car je ne les utilise pas. Cela évite des warnings m&#039;indiquant que je les déclare sans les utiliser, et que je le fait volontairement.]]></description>
		<content:encoded><![CDATA[<p>Car je ne les utilise pas. Cela évite des warnings m&rsquo;indiquant que je les déclare sans les utiliser, et que je le fait volontairement.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Commentaires sur Les variables d&#8217;environnement par Bktero</title>
		<link>https://blog.developpez.com/kirilenko/p10640/lenvironnement/les_variables_d_environnement#comment-1</link>
		<dc:creator><![CDATA[Bktero]]></dc:creator>
		<pubDate>Wed, 11 Jan 2012 13:40:05 +0000</pubDate>
		<guid isPermaLink="false">#comment-1</guid>
		<description><![CDATA[Merci pour l&#039;information :)&lt;br /&gt;
&lt;br /&gt;
Pourquoi castes-tu argc et argv dans le 2e exemple ?]]></description>
		<content:encoded><![CDATA[<p>Merci pour l&rsquo;information <img src="https://blog.developpez.com/kirilenko/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /></p>
<p>Pourquoi castes-tu argc et argv dans le 2e exemple ?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
