Programació en C/Variables

Com la majoria dels llenguatges de programació, C és capaç d'utilitzar i processar variables anomenades i el seu contingut. Les variables són simplement noms utilitzats per referir-se a alguna localització en memòria - una localització que té un valor amb què estem treballant.

Pot ajudar pensar en variables com a un lloc per a guardar un valor. Pot pensar en una variable com si fos el mateix que el seu valor assignat. Així, si té una variable i allò s'inicialitza (se diu per primera vegada que és igual) a 4, llavors segueix que i+1 serà igual a 5.

Ja que C és un llenguatge de programació de nivell relativament baix, abans que un programa C pugui utilitzar memòria per emmagatzemar una variable ha de demanar la memòria necessària per a guardar els valors de la variable. Això es fa declarant variables. Declarar variables és la manera en què un programa C mostra el nombre de variables que necessita, com s'anomenaran, i quanta memòria necessitaran.

Dins del llenguatge de programació C, quan es manegen i es treballa amb variables, és important saber el tipus de variables i la mida d'aquests tipus. Ja que C és un llenguatge de programació de nivell baix, aquests aspectes del seu funcionament poden ser específics del maquinari - això vol dir, com es fa funcionar el llenguatge en un tipus de màquina pot ser diferent de com es fa funcionar en un altre.

Totes les variables en C son "tipades". Vol dir que totes les variables declarades s'han d'assignar com a cert tipus de variable.

Declarant, Inicialitzant, i Assignant Variables[modifica]

Aquí hi ha un exemple de declarar un enter, que hem anomenat qualque_nombre. (cal adonar-se del punt i coma al final de la línia; així és com separa el seu compilador una sentència de programa d'una altra.)

int qualque_nombre;

Aquesta sentència significa que estem declarant espai per a una variable anomenada qualque_nombre, la qual sera usada per a guardar-hi un nombre enter (int, de integer en anglès, que vol dir enter. Cal adonar-se què hem de especificar el tipus de dada que la variable guardarà. Hi ha paraules clau per fer això - les vorem a la següent secció.

Es poden declarar múltiples variables amb una sola sentència, així:

int unnombre, unaltranombre, unaltrames;

També podem declarar i assignar contingut a una variable alhora. Això s'anomena inicialització perquè és el temps "inicial" en què un valor s'ha assignat a la variable:

int qualque_nombre=3;


A C, totes les declaracions de variables (amb l'excepció de les globals) s'haurien de fer al començament d'un bloc. Alguns compiladors no el deixen declarar les seves variables, introduir algunes sentències, i llavors declarar més variables. Les declaracions de variables (si n'hi ha cap) sempre haurien de estar a la primera part de qualsevol bloc.

Després de declarar variables, se pot assignar un valor a una variable més tard emprant una sentència com aquesta:

qualque_nombre=3;

També es pot assignar a una variable el valor d'una altra, de la següent manera:

  
unnombre = unaltranombre;

o assignar a múltiples variables el mateix valor amb una sentència:


unnombre = unaltranombre = unaltrames = 3;

Això és perquè l'assignació (x = y) torna el valor de l'assignació. x = y = z és realment una manera simplificada per a x = (y = z).


Anomenant Variables[modifica]

Els noms variables a C es constitueixen per lletres (majúscules i minúscules) i dígits. El caràcter subratllar("_") també és permès. Els noms no han de començar amb un dígit. A diferència d'algunes llengües (com Perl i alguns dialectes de BASIC), C no utilitza caràcters de prefix especials als noms de variables.

Alguns exemples de noms vàlids (però no massa descriptius) de noms de variables a C:

foo
Bar
BAZ
foo_bar
_foo42
_
QuUx

Alguns examples de noms de variables invàlids a C són:

2foo    (no ha de començar amb un dígit)
my foo  (no es permeten els espais)
$foo    ($ no permès -- només lletres, dígits i _ )
while   (les paraules clau del propi llenguatge C no estan permeses)

Com suggereix l'últim exemple, certes paraules es reserven com paraules clau en el llenguatge, i aquests no es poden utilitzar com a noms de variables.

A més a més hi ha certs conjunts de noms que, encara que no son paraules clau del llenguatge, són reservades per a una raó o un altre. Per exemple, un compilador C podria utilitzar certs noms "entre bastidors", i això podria provocar problemes per a un programa que intenta utilitzar-los. També, alguns noms es reserven per a l'ús futur possible en la biblioteca estàndard de C. Les regles per determinar exactament què es reserven noms (i en quins contexts se'ls reserven) són massa complicades per descriure aquí, i com a principiant no necessita preocupar-se'n molt de cap manera. Per ara, només evitar noms que utilitzen que comencen amb un caràcter subratllar.

Les regles per a anomenar les variables dins C també s'apliquen a altres construccions del llenguatge, com els noms de les funcions, i les macros, les quals seran explicades més endavant.