C/Variables: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Sen resumo de edición
Gallaecio (conversa | contribucións)
Remodelado o comezo, mais aínda queda choio
Liña 1:
{{Navegador|Ola mundo|Tipos de datos fundamentais}}
 
===NomearIntrodución ás variables===
Coma a maioría das linguaxes de programación, '''C''' é quen depode usar e procesar as chamadas variables e mailo seu contido. As '''variables''' son simples verbaspalabras usadas para referirse a unha localización na memoria, - unha localizaciónque pode conter un valor co que esteamos a traballar.
 
Axudaría pensar nas variables coma aquelas que lle gardan un sitio a un valor. PodesPódese pensar nunha variable comocoma aquilo que equivale ao seu valor. Polo tanto, se tes unha variable chamada <ttcode>i</ttcode>, á que recibelle asignaches o valor <ttcode>4</ttcode>, entón o resultado da operación <ttcode>i + 1</ttcode> será equivalente a <ttcode>5</ttcode>.
 
==Declaración de variables==
Posto que C é relativamente unha linguaxe de programación de baixo nivel, antes de que un programa en C poida utilizar memoria para almacenar unha variable debe reclamar a memoria requerida para almacenar os valores desa variable. Isto faise ao '''declarar''' variables. Declarar variables é a forma que ten un programa en C para amosar o número de variables que precisa, o nome que van ter, e a cantidade de memoria que necesitarán.
No tema das variables, pódese considerar C unha linguaxe de baixo nivel. Os programas escritos en C, ao executarse, reservan na memoria o espazo que van precisar para manexar as súas variables. Isto implica que de antemán o programa ten que saber as variables que se van usar, e o espazo que van ocupar en memoria. Para iso decláranse as variables, isto é, antes de que aparezan no programa as operacións con variables é preciso que aparezan unhas liñas de código que fornezan estes datos sobre as variables que se van usar.
 
Declarar variables é a forma que ten un programa en C para amosar o número de variables que precisa, o [[{{BASEPAGENAME}}/Identificadores|nome]] que van ter e a cantidade de memoria que necesitarán, estando este último aspecto ligado directamente ao [[{{BASEPAGENAME}}/Tipos de datos fundamentais|tipo de dato]] da variable.
Na linguaxe de programación C, ao manexar e traballar con variables, é importante coñecer o ''tipo'' de variables e o seu ''tamaño''. Xa que C é unha linguaxe de programación de nivel bastante baixo, estes aspectos dos seu funcionamento poden ser específicos para cada hardware, é dicir, como a linguaxe está feita para traballar nunha tipo de computadora pode ser distinta de como é para traballar noutra.
 
'''Todas''' as variables en C están suxeitas a un "tipo". Isto quere dicir que toda variable declarada deberá asignarse a un certo tipo. [[{{BASEPAGENAME}}/Tipos de datos fundamentais|Máis adiante]] estudaremos os tipos que existen en C.
 
===Declarar, inicializarunha e asignar variablesvariable===
No seguinte exemplo declararase un número enteiro (''integer'' en inglés), que chamaremos <ttcode>numero_calqueranumero</ttcode>. Non esquezas facer fincapé no punto e coma en que remata a liña, pois así remataránrematan todas as declaracións, e esquecer rematalas co punto e coma vai ser un erro habitual cando empeces a facer os teus primeiros programiñas.
<source lang="c">
int numero_calqueranumero;
</source>
Esta declaración significa que estamos a reservar espazo para unha variable chamada <tt>numero_calquera</tt>, a cal será usada para almacenar datos dun número enteiro (''<tt>int</tt>teger'' en inglés). Nótese que temos que especificar o tipo de datos que almacenará a variable. Hai palabras clave específicas para facer isto, e verémolas a continuación.
 
Esta declaración significa que estamos a reservar espazo en memoria interna para unha variable chamada <code>numero</code>, a cal será usada para almacenar datos, que serán sempre números enteiros (<code>int</code>). Este exemplo serve simplemente para que te familiarices coa declaración de variables, cuxa sintaxe fundamental se reduce a:
Pódense declarar múltiples variables cunha soa declaración, deste xeito:
<tipo de dato> <identificador da variable>;
 
Non ten máis complicación.
 
===Declarar máis dunha variable nunha soa sentencia===
Pódense declarar múltiples variables dun mesmo tipo nunha soa sentencia, separando os identificadores con comas. Vexamos un exemplo:
<source lang="c">
int un_numeronumero1, outro_numeronumero2, outro_maisnumero3;
</source>
Tamén podemos declarar e asignarlle algún contido á variable ao mesmo tempo. Isto chámase inicialización porque é cando o se lle asigna á variable o valor inicial.
<source lang="c">
int numero_calquera=3;
</source>
En C, todas as declaracións de variables (agás as globais) deberían de facerse ao comezo dun bloque. Algúns compiladores non permiten declarar variables, engadir outras declaracións, e declarar entón máis variables. As declaracións de variables (se hai algunha) deberían de ser sempre o principio de cada bloque.
 
No exemplo estamos declarando tres variables de tipo <code>int</code>: <code>numero1</code>, <code>numero2</code>, <code>numero3</code>. Deste xeito, podemos ampliar a nosa sintaxe para a declaración de variables coa posibilidade de declarar máis dunha nunha soa sentencia:
Tras declarar as variables, podes asignarlle un valor a unha variable máis adiante mediante a seguinte declaración:
<tipo> <identificador1> [, <identificador2>, <identificador3>, ...]
 
As declaracións de variables, salvo que sexan [[{{PAGENAME}}#Variables globais|globais]], teñen que facerse ao principio dos [[{{BASEPAGENAME}}/Vocabulario#bloque|bloques]] nos que se van utilizar, é dicir, antes que calquera outra sentencia de dito bloque.
 
===''Inicializar'' variables===
Ao declarar unha variable, é dicir, ao reservarlle un espazo na memoria, o valor da variable corresponderase cos datos que haxa nese espazo de memoria que agora quedou reservado para a variable. É coma se mercas un terreo, e nel hai árbores, arbustos, etc. Este contido non desexado adoita chamarse "lixo".
 
Moitas veces non importa que a variable conteña lixo ao principio, pois nalgún momento do programa gardamos algún dato na variable, e este dato substitúe ao lixo. Pero hai veces que xa dende o principio necesitamos que unha variable conteña un valor. Se ven isto se pode facer cunha operación moi simple, aforramos tempo se nada máis declarar a variable lle asignamos un valor. A esta operación chámaselle ''inicializar'' a variable.
 
''Inicializar'' unha variable é tan doado como isto:
<tipo> <variable>=<valor inicial>;
 
Estes son algúns exemplos de ''inicialización'' de variables:
<source lang="c">
int numero=3;
numero_calquera=3;
long int dinero=1500;
float base=12.34, altura=56.78;
</source>
Tamén lle podes asignar a unha variable o valor doutra, deste xeito:
<source lang="c">
un_numero = outro_numero;
</source>
Ou asígnalles a máis dunha variable o mesmo valor con esta declaración:
<source lang="c">
un_numero = outro_numero = outro_mais = 3;
</source>
===Nomear variables===
Os nomes das variables en C compóñense de letras (maiúsculas e minúsculas) e cifras. Tamén está permitida a ''barra baixa'' ('''_'''). Os nomes non poden comezar cunha cifra, e ao contrario que outras linguaxes coma [[w:Perl|Perl]] e algúns dialectos de [[w:BASIC|BASIC]]), C non fai uso de ningún prefixo especial nos nomes das variables.
 
===Asignar valores a unha variable===
Estes son algúns exemplos de variables válidas (no referente á sintaxe, claro):
Unha vez declaradas as variables, podes asignarlles valores en calquera momento mediante unha sentencia do tipo:
<variable>=<valor>
 
Claro que non é necesario escribir directamente dito valor. Pode ser o resultado dunha operación, ou mesmo o valor que contén outra variable. Vexamos uns exemplos:
<source lang="c">
numero=3; // Asignámoslle directamente un valor.
mexanpornosetemosquedicirquechove
numero1=numero2=numero3=25; // Deste xeito poder asignarlle o mesmo valor a tres variables distintas á vez.
Cervexa
metade=1/2; // Asignámoslle o resultado dunha división.
BIC
numero1=numero2+numero3; // Sumaranse os valores das variables numero2 e numero3, e o resultado asignaráselle á variable numero1.
non_si
numero=numero+1; // Podes mesmo asignarlle a unha variable o resultado dunha operación na que participa dita variable.
_e_logo
_
IsoSi
</source>
Agora exemplos de variables que non valen:
<source lang="c">
2_cervexas // Non pode comezar cunha cifra
non si // Non se poden usar espazos nos nomes
while // Tampouco valen as palabras clave da linguaxe C, tales coma "for", "if", "else"
Quero_€_e_$ // Carácteres coma € e $ non se poden usar, só letras, números e _
E_logo? // E dalle! "?" non é unha letra, nin un número, nin moito menos _
isto_é_algo // Non, nada de tils, así que nada de á, é, í, ó, ú
pingüin_voador // Nada de lle poñer puntiños enriba ao u
ñu // Dá a casualidade de que o ñ tampouco vale
çà&#... // En fin, ante as dúbidas, comprobade se o que escribides está no alfabeto latino
// fundamental, é unha cifra ou é '''_'''
</source>
Como dí o terceiro exemplo, algunhas verbas están reservadas coma parabras clave na linguaxe C, polo que non se poden usar coma nomes de variable.
 
Ademáis, hai certas verbas que , aínda que non son palabras clave en C, están reservadas por unha ou outra razón. Pero un principiante non debería preocuparse disto, e posto que estas verbas están escritas en inglés, se utilizas o galego ou outra lingua e evitas os caracteres non válidos non deberías de ter maior problema.
 
As regras para nomear variables en C aplícanse tamén a outras construccións da linguaxe tales coma nomes de funcións, etiquetas de estrutura, macros... e demáis que veremos máis adiante.
 
==Literais==