Bien ando leyendo el libro: Como Programar en C/C++ de Deitel 2da Edicion.
ando por el capitulo 5. El tema qe me queda dudas es de Clases de almacenamiento.
como bien dice este libro un identificador tiene otros atributos incluyendo clase de almacenamiento, duracion de almacenamiento, alcance y enlace. Y en el lenguaje C estas se indican por especificadores de clase de almacenamiento: auto, register, extern y static. y bien siguiendo con esta teoria pueden determinar su duracion en memoria, el alcance (ambito de bloques), y el enlace en caso de trabajar con multiples codigos fuente.
Ahora estos cuatro especificadores pueden ser divididos en 2 tipos de persistencia: persistencia automatica (obviada por lo regular) y presistencia estatica. Donde 2 de estos especificadores: auto, register son de persitencia automatica y son aplicables solo a variables.
Bien con la persistencia automatica: 'auto' no hay problema en entenderla por que simplemente hace explicito su uso. En cambio con la segunda persistencia automatica: 'register' si que no la entiendo mucho o mejor ni *** . por ejemplo:
Citar
Los datos de un programa en la version en lenguaje maquina, para calculos y otros procesos normalmente se cargan en registros.
wow solo tengo esta idea, haber si la pico:siendo los datos de un programa, una variable 'x' se cargara en un registro.
pero como eso eso del registro en el lenguaje maquina?
ideas mias: en algoritmo/C se asemeja a un conjunto de datos pero con diferentes tipos de dato (int, float, etc) ... ?
ahora esta:
Citar
el compilador pudiera ignorar declaraciones register. por ejemplo, quizas no exista suficiente numero de registros disponibles para que los utilice la computadora.
ahhh !!!registros disponibles para que los utilice la computadora ?
acaso tengo que estudiar arquitectura de computadoras, para entender.
Bien esta consulta esta larga
saludos.