|
| |
Modificadores
Resumen: Variables De Tipo: Auto, Static, Extern, y Register. Variables registro (register). Modificadores Tipo: Short, Long, Signed y unsigned. 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
Publicación enviada por Alex Mociños Lugo
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
1. Introducción
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 2147483648
|
|
signe long int
|
32
|
-2147483648 a 214748367
|
|
|
|
|
|
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
5. Conclusión
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.
6. Bibliografía
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
migofito@hotmail.com
moci2@hotmail.com
Tel. (01) 922 22 12458
Minatitlán, Veracruz México
Compartir 
Publicación enviada por Alex Mociños Lugo
Contactar mailto:migofito@hotmail.com
Código ISPN de la Publicación EpZVVZFuEyMKEAElhp
Publicado Saturday 31 de January de 2004
Ultimas Publicaciones en ilustrados.com
ilustrados.com nace con el fin difundir el conocimiento publicando trabajos de investigación, monografias, tesis, presentaciones powerpoint y afines. Publicar trabajos en ilustrados.com ha alcanzado prestigio y reconocimiento internacional siendo cada vez más el número de académicos, empresas, investigadores, científicos que consultan las publicaciones de nuestro portal.
|