C/Variables: Diferenzas entre revisións
Contido eliminado Contido engadido
→Scope: Traduzo |
→Other Modifiers: Traduzo un anaco |
||
Liña 182:
As variables locais estan consideradas coma unha mala práctica de programación, e deberían evitarse sempre que fose posible. Dificultan a lectura do código, crean conflitos cos nomes e poden dificultar a localización de erros de programación (''bugs''). O uso abusivo de variables locais adoita ser signo de pereza e/ou pobreza no deseño. De todos xeitos, nunha situación en que as variables locais poderían crear código máis difícil de ler, non hai problema en utilizar as globais. Máis adiante veremos exemplos de funcións que son máis difíciles de escribir se o facemos sen unha variable global.
==Outros modificadores==
Velaquí máis modificadores fornecidos polo estándar C para completar. Para o programador principiante poderán ser de utilidade <tt>static</tt> e <tt>extern</tt>. <tt>volatile</tt> resultaralle máis interesante aos programadores avanzados. <tt>register</tt> e <tt>auto</tt> son amplamente desprezados e non adoitan ser de interese para os programadores, sen importar o seu nivel.
<tt>'''static'''</tt> pode ser ás veces unha palabra clave útil.
Existe a falsa crenza de que o seu único propósito é o de facer que unha variable permaneza na memoria. Cando declaras unha función ou variable global como estática (<tt>static</tt>) vólvese interna. Non poderás acceder a esa función ou variable dende a palabra clave exterior dos outros ficheiros do teu proxecto.
Cando declaras unha variable local como estática, créase coma calquera outra variable. Así e todo, ao saíren do ámbito da variable (por exemplo, remata o bloque para o cal era local) a variable permanece na memoria, quedándose co seu valor. A variable permanece na memoria ata que remata o programa. Aínda que este comportamento aseméllase ao das variables globais, diferéncianse en que as variables estáticas seguen a obedecer ás regras do ámbito e por tanto non pode accederse a elas dende fóra deste.
As variables declaradas coma <tt>static</tt> inicialízanse co valor nulo (<tt>0</tt>) por defecto.
Podes utilizar <tt>static</tt> de, polo menos, dúas maneiras. Imaxinemos un código que forma parte do ficheiro <tt>gfile.c</tt>:
<source lang=c>
#include <stdio.h>
static int
void
{
/* Asígnaselle o valor 0 a l cando se inicia o programa. Daquela o resto
*
* l cada vez que se chama a arriba()
*/
static int
printf("
}
void
{
static int
printf("
}
Liña 223 ⟶ 224:
int i;
/
for (i= 0; i < 3; i++)
for (i= 0; i < 2; i++)
return 0;
Liña 268 ⟶ 269:
[[pl:C/Zmienne]]
[[fi:C/Muuttujat]]
=Artigo traducido da wikibooks en castelán=
|