Indice
1.
Introducción
2. Variables De Tipo: Auto, Static,
Extern, y Register.
3. Variables registro
(register)
4. Modificadores Tipo: Short, Long, Signed
y unsigned
5. Conclusión
6. Bibliografía
Primeramente es preciso determinar un lenguaje
común por lo cual definiremos Modificador como // La
acción de cambiar una cosa sin alterar su naturaleza
misma//Determinar ó cambiar el sentido.1 Y el
significado de Identificador, que son nombres que se le asignan a
varios elementos de un programa , con
variables,
funciones y
formaciones.
Teniendo así que un identificador nos permite asignarle un
nombre a un variable y el modificador es el que cambiara su
sentido sin cambiar su naturaleza,
así una variable denominada PRESU_FINAL (presupuesto
final) será una variable de tipo numérica Real y su
modificador nos dirá si se puede ocupar como una variable
ejecutable en todo el programa o solo
en una rutina o subrutina del mismo, teniendo así presente
cual es la función de
un identificador y de un modificador daremos comienzo.
2. Variables De
Tipo: Auto, Static, Extern, y Register.
Un programa C consta de un conjunto de objetos externos,
que son variables o funciones. El
adjetivo "externo" se usa principalmente en contraste con
"interno" que describe los argumentos y las variables
automáticas definidas dentro de las funciones. Las
variables externas se definen fuera de cualquier función y,
por lo tanto, son potencialmente utilizadas por muchas funciones.
También estas son siempre externas, pues C no permite
definir funciones dentro de otras, por definición, las
variables externas son también "globales", por que todas
las referencias a tales variables del mismo nombre son
referenciadas a la misma cosa.
Variables tipo Auto:
Las variables automáticas (auto) son internas a una
función; comienzan a existir al entrar a una rutina y
desaparecen al terminar la misma; por eso no conservan su
valor entre
dos llamadas sucesivas y se les ha de dar un valor en la
entrada a la función. Si no se les asigna nada
contendrán "basura".
Variables tipo Extern:
Las variables externas (extern) son permanente No aparecen y
desaparecen, sino que mantienen su valor entre una
invocación de la función y la siguiente. Las
variables externas son accesibles globales y por ello ofrecen una
alternativa a los argumentos de la función y valores de
retorno para comunicación de datos en ellas.
Por esta razón si una función situada en un fichero
fuenbte desea utilizaruna variable de este tipo debe declararla o
referenciarla con la palñabra extern
Archivi1 Archivo2
Int salario, impuesto; extern
int salario, impuesto;
Char Nom_empl[30] ; extern Nom_empl[30] /*nombre empleado*/
Main ( ) void func1( )
{{
Variables tipo (Estatic) estáticas
Las variables estáticas constituyen una tercera clase de
almacenamiento,
además de las extern y automáticas.
Las variables estáticas pueden ser internas o externas,
las variables static internas son locales a una función en
la misma forma que las automáticas pero, a diferencia de
ellas, su existencia es permanente, en lugar de aparecer y
desaparecer al activar la función.
Una variable static externa es accesible en el resto del archivo fuerte en
el que está declarada pero no en otro lado . por lo tanto,
el almacenamiento
static externo proporciona un medio de ocultar nombres como buf y
bufp en la combinación getch-ungetch, pero serán
externas para poder ser
compartidas y se mantendrán inaccesibles a los usuarios de
getch y ungetch, para que no exista posibilidad de conflicto. Si
las rutinas y las dos variables se compilan en la forma
Static char buf(BUFSIZE); /* buffer parta ungatch*/
Static intbufp=0; /* siguiente posición libre en buf*/
getch( ) { …}
getch ( ) { … }
El resto de las rutinas serán incapaces de tener
acceso a buf y butp. De hecho, no habrá conflictos con
los mismos nombres en otro archivo del mismo
programa.
El almacenamiento estático, interno o externo se
especifica al prefijar la declaración normal con palabras
static: la variable es externa si se define fuera de las
funciones e interna si se define dentro de una
función.
Normalmente, las funciones son objetos externos: sus nombres son
conocidos globalmente. Sin embargo, su nombre será
inaccesible fuera del archivo en que se declaren.
En C, static no sólo indica permanencia, sino
también cierto grado de algo que podría ser llamado
"privacidad", Los objetos static internos son conocidos solamente
dentro de una función, los objetos static externos
(variables o funciones) se conocen sólo en el archivo
fuente en que aparecen y sus nombres no interfieren con variables
ni funciones que llevan el mismo nombre en otros archivos.
Otro ejemplo seria:
Series (void)
{
static int cont_deca; /* contador decada*/
cont_deca=cont_deca +10;
retun (cont_decada);
}
3. Variables registro
(register)
La ultima y cuarta clase de almacenamiento se denomina
register. Una declaración register avisa al compilador que
la variable en cuestión será muy usada. Cuando es
posible las variable sregister se colocan en los registros de la
máquina, lo que producirá programas
más cortos y más rápidos.
La declaración regirter es del tipo
Regiter int x;
Register char c;
La parte int parte int puede omitirse, register sólo se
aplica a variables automáticas y a los parámetros
formales de una función. En este ultimo caso la
declaración será
F(c,n)
Register int c, n:
{
register int i;
…
}
En práctica existen algunas restricciones en las
variables registro, que
reflejan la realidad del harware subyacente. Nada más unas
pocas variables de cada función se pueden mantener en
registros, y
sólo se permite algunos tipos.
4. Modificadores Tipo:
Short, Long, Signed y unsigned
Los compiladores de C
diseñados para computadoras
personales s o microcomputadoras (computadoras
con longitud de palabra menor que 32 bit) representan
generalmente una palabra con 4 bytes (32 bits).
Algunos tipos básicos de datos se pueden
ampliar utilizando los modificadores de tipo de datos
Short(corto), Long(largo), Signed(con signo) Unsigned(sin
signo)
Tipo | Bits | Rango |
int | 16 | -32.767 a 32.767 |
unsigned int | 16 | 0 a 65.535 |
signed int | 16 | -32.768 a 32.767 |
short int | 16 | -32.768 a 32.767 |
unsigned short int | 16 | 0 a 65.535 |
signed short int | 16 | -32.768 a 32.767 |
log int | 32 | -2147483648 a |
signe long int | 32 | -2147483648 a |
Char | 8 | -128 a 127 |
Unsigned char | 8 | 0 a 255 |
Signed char | 8 | -128 a 127 |
Por ejemplo, se puedendefinir cantidades enteras como
short int , long. Int o insigne int (estos tipos de datos se
suelen escribir simplemente Short, long, o insigne y se supone
que son enteros). La interpretación de un tipo de daro
entero modificador delante puede variar de un compilador de C a
otro, aunque existe una relación de sentido
común.
De esta forma un short int requerirá menos memoria o la
misma que un int ordinario, pero nunca más. De igual
forma, un Long int puede requerir la misma cantidad de un int
ordinario, pero nunca una cantidad de menoría
menor
Si short int e int requieren la misma memoria (por
ejemplo 2 Bytes), entonces Long int , generalmente,
ocupará el doble (por ejemplo 4 Bytes). O si int y Long
int ocupa la misma memoria (4 Bytes), entonces short int
ocupará la mitad de memoria (2 bytes)
Un Unsigned int ocupa la misma memoria que un int ordinario. Sin
embargo, en el caso de un int ordinario ( o un short int o un
Long int), el bit más a la izquierda se reservara para el
signo. En un unsigned int, todos los bits se utilizan para
representar el valor numerico , de esta forma , un unsigned int
puede llegar a almacenar un valor numerico aproximadamente el
doble que un int ordinario (uan que por supuesto no puede
almacenar valores
negativos).
Constantes. (const.)
C tiene cuatro tipos básicos de constantes: constantes
enteras, constantes en coma flotante, constantes de carácter y
constantes de cadena de carácter.
Es más, hay distintas clases de constantes enteras y en
coma flotante,
Las constantes enteras y en coma flotante representan numeras. Se
las denomina, en general, constantes de tipo numérico. Las
siguientes reglas se pueden aplicar a todas las constantes
numéricas.
No se pueden incluir comas ni espacios en blanco en la
constante
Si se desea, la constante puede ir presenciada de un signo
menos(-) (realmente, el signo menos es un operador que cambia el
signo de una constante positiva, aunque se puede ver como parte
de la constante misma)
El valor de una constante no se pude exceder un limite
máximo y un mínimo especificado. Para cada tipo de
constantes, estos limites varían de un compilador a otro.
Este tipo de datos no puede cambiar durante la ejecución
del programa. Por ejemplo
Const float pi =3.141592
Para tener un buen conocimiento
de los tipos de datos
así como la diversidad de opciones que nos permite
utilizar C , es necesario estar conciente que una variable puede
tener un sin fin de utilidades de acuerdo al programa que se
implemente, Una herramienta básica de los lenguajes de
alto nivel como es C.
Un programador tiene que tener en cuenta el tipo de hardware con el que esta
trabajando y es necesario asignar memoria conforme la pida el
programa, No más y no menos, esto es lo primordial del
conocimiento
de los modificadores y los tipos de variables que se pueden
utilizar.
Diccionario Enciclopédico
Larousse tomo2
El lenguaje de
Programación C, C++
Editorial: Mc Graw-Hill
2da. Edición
Programación en C
Serie Shaun
Trabajo enviado Por
Alex Mociños Lugo
Instituto Tecnológico de Estudios Superiores del Sur
Este
Tel. (01) 922 22 12458
Minatitlán, Veracruz México