<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ca">
	<id>http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Passar_par%C3%A0metres_per_refer%C3%A8ncia_amb_C</id>
	<title>Passar paràmetres per referència amb C - Historial de revisió</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.joanillo.org/index.php?action=history&amp;feed=atom&amp;title=Passar_par%C3%A0metres_per_refer%C3%A8ncia_amb_C"/>
	<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Passar_par%C3%A0metres_per_refer%C3%A8ncia_amb_C&amp;action=history"/>
	<updated>2026-08-30T08:21:14Z</updated>
	<subtitle>Historial de revisió per a aquesta pàgina del wiki</subtitle>
	<generator>MediaWiki 1.34.2</generator>
	<entry>
		<id>http://wiki.joanillo.org/index.php?title=Passar_par%C3%A0metres_per_refer%C3%A8ncia_amb_C&amp;diff=249245&amp;oldid=prev</id>
		<title>Joan: Es crea la pàgina amb «Com sempre, no convé abusar de les variables globals. Passar paràmetres per referència és la manera de tenir definida una variable localment, per ex '''char *vid_foto...».</title>
		<link rel="alternate" type="text/html" href="http://wiki.joanillo.org/index.php?title=Passar_par%C3%A0metres_per_refer%C3%A8ncia_amb_C&amp;diff=249245&amp;oldid=prev"/>
		<updated>2012-04-16T23:59:33Z</updated>

		<summary type="html">&lt;p&gt;Es crea la pàgina amb «Com sempre, no convé abusar de les variables globals. Passar paràmetres per referència és la manera de tenir definida una variable localment, per ex &amp;#039;&amp;#039;&amp;#039;char *vid_foto...».&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Pàgina nova&lt;/b&gt;&lt;/p&gt;&lt;div&gt;Com sempre, no convé abusar de les variables globals. Passar paràmetres per referència és la manera de tenir definida una variable localment, per ex '''char *vid_foto_flickr;''' en el segon exemple, i aquesta variable la passo per referència a d'altres procediments o funcions, on allà es pot canviar el valor de la variable. Aquest aclariment respon a un cas real quan estava programant amb l'API de Flickr, en què la variable vid_foto_flickr no es passa una vegada, sinó dues (fa dos salts), amb la qual cosa s'organitza un embolic que s'ha de desembolicar. Un cop aclarit, s'ha utilitzat a '''upload2flickr.c'''&lt;br /&gt;
&lt;br /&gt;
'''aclaratori_punters.c''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//$ gcc -o aclaratori_punters aclaratori_punters.c&lt;br /&gt;
// hi ha diferència de sintaxi entre fer-ho amb C i amb C++:&lt;br /&gt;
//http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fcplr233.htm&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
char * crida_funcio (char *, int *, char *, char **);&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[]) &lt;br /&gt;
{&lt;br /&gt;
	char *var1;&lt;br /&gt;
	int val1;&lt;br /&gt;
	char var2;&lt;br /&gt;
	char *var3;&lt;br /&gt;
&lt;br /&gt;
	char *res;&lt;br /&gt;
&lt;br /&gt;
	var1=&amp;quot;hola1&amp;quot;;&lt;br /&gt;
	val1=10;&lt;br /&gt;
	var2='h';&lt;br /&gt;
&lt;br /&gt;
	var3=&amp;quot;camió&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
	res = crida_funcio(var1, &amp;amp;val1, &amp;amp;var2, &amp;amp;var3);&lt;br /&gt;
	printf(&amp;quot;%s %d %c %s\n&amp;quot;, res, val1, var2, var3);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
char *crida_funcio(char *v1, int *valor, char *v2, char **v3) {&lt;br /&gt;
	char *a2;&lt;br /&gt;
	printf(&amp;quot;aaa %d\n&amp;quot;,*valor);&lt;br /&gt;
	a2=v1;&lt;br /&gt;
	*valor=5;&lt;br /&gt;
	*v2='a';&lt;br /&gt;
	*v3=&amp;quot;bicicleta&amp;quot;;&lt;br /&gt;
	return a2;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
'''aclaratori_punters2.c''':&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
//$ gcc -o aclaratori_punters aclaratori_punters.c&lt;br /&gt;
// hi ha diferència de sintaxi entre fer-ho amb C i amb C++:&lt;br /&gt;
//http://publib.boulder.ibm.com/infocenter/comphelp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8a.doc%2Flanguage%2Fref%2Fcplr233.htm&lt;br /&gt;
&lt;br /&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int command_upload(char **);&lt;br /&gt;
int print_upload_status(char ***);&lt;br /&gt;
&lt;br /&gt;
int main(int argc, char *argv[]) &lt;br /&gt;
{&lt;br /&gt;
	char *vid_foto_flickr;&lt;br /&gt;
	int res;&lt;br /&gt;
&lt;br /&gt;
	vid_foto_flickr=&amp;quot;cotxe&amp;quot;;&lt;br /&gt;
	printf(&amp;quot;%s\n&amp;quot;, vid_foto_flickr);&lt;br /&gt;
&lt;br /&gt;
	res = command_upload(&amp;amp;vid_foto_flickr);&lt;br /&gt;
	printf(&amp;quot;%s\n&amp;quot;, vid_foto_flickr);&lt;br /&gt;
&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int command_upload(char **vid_foto_flickr_a) {&lt;br /&gt;
&lt;br /&gt;
	int res;&lt;br /&gt;
	*vid_foto_flickr_a=&amp;quot;bicicleta&amp;quot;;&lt;br /&gt;
	printf(&amp;quot;--%s\n&amp;quot;,*vid_foto_flickr_a);&lt;br /&gt;
	res = print_upload_status(&amp;amp;vid_foto_flickr_a);&lt;br /&gt;
	printf(&amp;quot;---%s\n&amp;quot;,*vid_foto_flickr_a);&lt;br /&gt;
	return 1;&lt;br /&gt;
}&lt;br /&gt;
&lt;br /&gt;
int print_upload_status(char ***vid_foto_flickr_b) {&lt;br /&gt;
&lt;br /&gt;
	**vid_foto_flickr_b=&amp;quot;moto&amp;quot;;&lt;br /&gt;
	printf(&amp;quot;--%s\n&amp;quot;,**vid_foto_flickr_b);&lt;br /&gt;
	return 1;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
{{Autor}}, abril 2012&lt;/div&gt;</summary>
		<author><name>Joan</name></author>
		
	</entry>
</feed>