C/Tipos fundamentais: Diferenzas entre revisións

Contido eliminado Contido engadido
Gallaecio (conversa | contribucións)
Artigo inicial. Moito contido borrado porque pasará a outros artigos («Modificadores» e «Enumeracións»).
 
Gallaecio (conversa | contribucións)
Completado co artigo en inglés.
Liña 5:
|} <!-- Isto sitúa o índice á dereita -->
 
A continuación lístanse os tipos fundamentais que se lles poden atribuír ás variables. Son catro, dado que [[#void|<source lang=c enclose=none>void</source>]] non está considerado realmente un tipo.
 
==Enteiros==
Os tipos enteiros represéntanse na memoria en sistema binario: [[Sistemas informáticos multiusuario e en rede/Representación dos números enteiros#Binario puro|binario puro]] para valores positivos e [[Sistemas informáticos multiusuario e en rede/Representación dos números enteiros#Complemento a dous|complemento a dous]] para os valores negativos. A continuación lístanse os tipos enteiros básicos de C.
 
===<source lang=c enclose=none>int</source>===
Tamén chamado “tipo enteiro”. Ocupa distinto tamaño segundo a arquitectura do sistema e o compilador, pero na meirande parte dos sistemas actuais (arquitecturas de 32<code>i686</code> e 64 bits<code>x86_64</code>) e compiladores estándar coma o [[GNU Compiler Collection|<code>gcc</code>]], o tamaño é de catro bytes. Partindo desta premisa, o seu rango de valores irá de -2.147.483.648 a 2.147.483.647 (2<sup>32</sup> valores distintos).
 
===<source lang=c enclose=none>char</source>===
Tamén chamado “tipo carácter”. Ocupa sempre un byte en memoria interna, que por regra xeral está formado por 8 bits ─este tamaño [[{{BASEPAGENAME}}/Directrices para o preprocesador#.32define|defíneo]] a clave <code>CHAR_BIT</code>─, polo que Oo seu rango de valores vai de -128 a 127.
 
As variables deste tipo adoitan almacenar caracteres {{W|ASCII}}, que é de onde ven o seu nome, pois son as catro primeiras letras de “''character''”, «carácter» en inglés. Á hora de asignarlle valores a este tipo de variables, cómpre ter esta orixe en conta, pois se ben se lle poden asignar cantidades numéricas con total normalidade, un bo programador traballará con caracteres.
===<source lang=c enclose=none>int</source>===
 
Tamén chamado “tipo enteiro”. Ocupa distinto tamaño segundo a arquitectura do sistema e o compilador, pero na meirande parte dos sistemas actuais (arquitecturas de 32 e 64 bits) e compiladores estándar coma o [[GNU Compiler Collection|<code>gcc</code>]], o tamaño é de catro bytes. Partindo desta premisa, o seu rango de valores irá de -2.147.483.648 a 2.147.483.647.
Os caracteres van delimitados con comiñas simples, «<code>'</code>», como os seguintes exemplos: <source lang=c enclose=none>'a', 'z', '1'</source>, etc. Asemade, existen caracteres ASCII especiais, como <source lang=c enclose=none>'\0'</source>, o carácter nulo, ou <source lang=c enclose=none>'\n'</source>, o carácter de salto de liña. A cada un destes caracteres corresponde por suposto un valor numérico concreto (por exemplo, o <source lang=c enclose=none>'a'</source> correspóndese co valor <source lang=c enclose=none>97</source>), pero como xa se dixo recoméndase traballar con caracteres para as variables deste tipo.
 
Respecto desta relación carácter-número cómpre salientar unha cousa: os caracteres correspondentes a cifras e o seu valor numérico non coinciden. É dicir, <source lang=c enclose=none>'1'</source> non vale <source lang=c enclose=none>1</source>.
 
==Reais==
Os números reais ─aqueles con decimais─ almacénanse en memoria interna mediante o sistema de [[Sistemas informáticos multiusuario e en rede/Representación dos números reais#Representación en coma flotante|coma flotante]].
 
===<source lang=c enclose=none>float</source>===
Liña 23 ⟶ 29:
 
===<source lang=c enclose=none>double</source>===
Tamén chamado “real en dobre precisión”. Ocupa 8 bytes. Orixinalmente, a distinción entre os tipos <source lang=c enclose=none>float</source> e <source lang=c enclose=none>double</source> foi debido ao aforro de memoria que podía supoñer o uso extensivo do primeiro tipo en vez do segundo, pero a día de hoxe e dados os recursos de que dispoñen agora os computadores probablemente non hai problema en usar de maneira extensiva este tipo. De feito, algúns compiladores compilan variables de tipo <source lang=c enclose=none>float</source> como se fosen de tipo <source lang=c enclose=none>double</source>.
Tamén chamado “real en dobre precisión”. Ocupa 8 bytes.
 
==<source lang=c enclose=none>void</source>==
Liña 36 ⟶ 42:
<!-- Categorías: -->
[[Categoría:C ─ Variables|Tipos fundamentais]]
 
<!-- Noutros wikibooks: -->
[[en:C_Programming/Variables#The_Four_Basic_Types]]