C/Variables

En Galilibros, o Wikibooks en galego.
< C
Saltar ata a navegación Saltar á procura
C
← Volver a Identificadores Variables Seguir con Tipos fundamentais


Coma a maioría das linguaxes de programación, C pode usar e procesar as chamadas “variables” e mailo seu contido. As variables son simples palabras usadas para referirse a unha localización na memoria, que pode conter un valor co que se estea a traballar no programa.

Declaración[editar]

As declaracións de variables confórmanas un tipo de dato e un identificador, que será o nome da variable. A seguinte sería a súa sintaxe fundamental:

tipo identificador;

Un exemplo básico de declaración dunha variable podería ser o seguinte:

int numero;

Pódense declarar múltiples variables dun mesmo tipo nunha soa sentencia, separando os identificadores mediante comas, tal e como pode verse no seguinte exemplo:

int numero1, numero2, numero3;

Ao declarar unha variable, o seu valor corresponderase cos datos que houbese previamente no espazo de memoria reservado para a variable. Este valor é o que se denomina “lixo” (valor non desexado). As variables pódense inicializar ─asignarlles un valor inicial na súa declaración─. Para facelo, abonda con utilizar o carácter de asignación, «=», como se amosa no seguinte exemplo:

int numero = 3;
float base = 12.34, altura = 56.78;
// No código fonte a “coma” dos decimais é un punto, como na escrita inglesa.

As variables poden declararse:

  • tras as ordes para o precompilador, e antes das definicións de funcións,
  • dentro dun bloque de sentencias, ao comezo do mesmo (antes de calquera outra sentencia), ou
  • como parámetro dunha función.

A diferencia entre os dous primeiros casos é o ámbito de acción da variable. Respecto ás declaracións de variables como argumentos de funcións, véxase o artigo sobre funcións para máis información ao respecto.

As declaracións de variables ─salvo que sexan globais─ teñen que facerse ao principio dos bloques nos que se van utilizar, é dicir, antes que calquera outra sentencia de dito bloque.

Asignación de valores[editar]

Para asignarlle un valor a unha variable que foi previamente declarada utilízase o símbolo de asignación, o «=», seguido dunha expresión, cuxo resultado quedaría almacenado na variable. A seguinte sería a sintaxe fundamental:

variable = expresión;

A continuación amósanse algúns exemplos de asignacións de valores a variables:

numero = 3;
numero1 = numero2 = numero3 = 25; // Asígnaselle o mesmo valor, «25», ás tres variables á vez.
metade = 1 / 2;
numero1 = numero2 + numero3;

Tanto en expresións aritméticas coma noutras expresións cómpre, sempre que sexa posible, que os tipos dos elementos ─xa sexan variables ou constantes─ da expresión coincidan sempre que sexa posible. Isto é porque para computar expresións o computador ten que converter os datos en tempo de execución ao mesmo tipo cando estes non coincidan previamente, o que resulta nun consumo de procesador, moitas veces evitable.

Ás constantes literais pódeselles indicar o tipo de dato que teñen que ser mediante sufixos. Cando as variables sexan de distintos tipos, isto si que non se pode cambiar directamente no código, as variables son e sempre serán do tipo de dato como foron declaradas. Pero para as funcións podemos utilizar moldes, que se ven non van evitar realizar conversións de tipo en tempo de execución, si que poden nalgúns casos reducir a cantidade de conversións, e así reducir o uso de procesador mellorando levemente a eficiencia do programa.

Ámbito[editar]

É importante ter sempre en conta a diferencia entre tipos de variable locais e globais, e como declarar variables de cada un deles. Para declarar unha variable local, hai que emprazar a declaración ao comezo do bloque para o que a variable será local. As variables adoitan declararse como locais para o bloque dunha función, xa sexa a función principal ou calquera outra. Para declarar unha variable global, esta declárase fóra de calquera bloque. As variables globais poden ser lidas e escritas dende calquera punto do programa.

As variables globais están 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 nos programas. O uso abusivo de variables globais adoita ser signo de pereza 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 globais.

Cómpre ter en conta que, tras declarar unha variable global, é posible declarar unha variable local dentro dun bloque de sentencias co mesmo identificador que a variable global. Nese caso, a variable global será ignorada para as sentencias do bloque en cuestión.


C
← Volver a Identificadores Variables Seguir con Tipos fundamentais