Fundamentos del lenguaje de programación C Parte 6

Tipos de datos

Un tipo de datos define los requisitos de almacenamiento, los requisitos de manejo y el comportamiento de las variables y los parámetros de la función.

Cuando crea variables, el compilador necesita saber cuánta memoria debe asignarse para el almacenamiento y cómo deben manejarse los datos en operaciones aritméticas y lógicas. Hay cuatro tipos de datos fundamentales. Dos de ellos manejan datos de tipo entero mientras que los otros dos manejan datos de punto flotante.


El tamaño de estos tipos no está estandarizado, aunque los tamaños presentados aquí son muy comunes. El tipo de datos int es la más variable de un compilador a otro, ya que normalmente tiene el mismo tamaño que la ALU (unidad de lógica aritmética) / palabra de memoria de datos. Entonces, en un microcontrolador de 16 bits, un int sería de 16 bits, mientras que en un microcontrolador de 32 bits, un int sería de 32 bits. Esto es casi siempre cierto, pero con frecuencia se descompone en el mundo de 8 bits. Muchos compiladores de 8 bits definen int como 16 bits, mientras que otros lo definen como 8 bits. Entonces, antes de comenzar a escribir código, asegúrese de leer el manual de usuario de su compilador para averiguar qué tan grande es una int.
Incluso char, que en el pasado casi siempre se implementaba con 8 bits para acomodar la codificación ASCII de caracteres de 7 bits, ahora puede ser de 16 bits en algunos compiladores que admiten la codificación Unicode.
Hay dos tipos de datos más: void y enum, que se analizarán más adelante en la debido a sus aplicaciones especiales.

Calificadores del tipo de datos

Los tipos de datos fundamentales pueden ser modificados por los prefijos firmado, sin firmar, corto y largo. Estas modificaciones cambian el rango de valores que pueden ser representados por el tipo de datos fundamentales.


La palabra clave int es opcional cuando se modifica (se muestra en cursivas en la tabla anterior). Por ejemplo, un int sin firmar se puede especificar más simple como unsigned. El único momento en que debe aparecer int es cuando se usa solo.
También tenga en cuenta que los tipos de datos fundamentales están todos firmados por defecto. Así que int y signed int significan exactamente lo mismo. firmado no es necesario, pero se usa a menudo cuando uno quiere hacer que su código sea explícitamente claro.
Algunos compiladores, como el compilador MPLAB C18 heredado, admiten el short long, que generalmente se define como de 24 bits. Este tipo de datos generalmente se encuentra en compiladores que admiten procesadores de señal digital donde los datos de 24 bits se usan en aplicaciones de audio de alta gama.
Al igual que con los tipos de datos fundamentales, los tamaños que se muestran en la tabla anterior pueden variar de un compilador a otro. Por ejemplo, el modificador short no tiene efecto en int con el compilador MPLAB XC16, mientras que el compilador MPLAB XC32 define un short como 16 bits frente al entero int como 32 bits.

Tipos de punto flotante modificados

En el lado del punto flotante de los tipos de datos, el único calificador válido es long y, por lo general, se usa solo con el doble.


La mayoría de los compiladores definen float y double como se muestra en la tabla anterior, mientras que algunos permiten aplicar long a float y double. Los datos anteriores son representativos del compilador MPLAB XC16, pero deben ser similares para todas las implementaciones de coma flotante en formato IEEE-754.
Algunos compiladores proporcionan un ajuste o un cambio de línea de comando que obligará al doble a comportarse como el doble de la tabla.

Definiciones y declaraciones de variables

Declaración de Variable
Una declaración de variable es cuando especifica un tipo y un identificador, pero aún no ha asignado un valor a la variable.

Definición de variable
Una definición de variable es cuando asigna un valor a una variable, generalmente con el operador de asignación =.

En el lenguaje de programación C, las variables deben declararse antes de que puedan ser utilizadas. Esto le dice al compilador cómo trabajar con la variable y le dice al vinculador cuánto espacio necesita asignarse para ella.

Declaraciones de variables

Para declarar una variable, debe proporcionar su tipo y un identificador (nombre). La forma general para declarar variables es:


Esto significa que puede declarar una o más variables del mismo tipo comenzando con el tipo, seguido por una lista de identificadores separados por comas con un punto y coma al final. Las variables del mismo tipo no necesitan declararse juntas. También podría dividirlos en múltiples declaraciones de una sola variable, cada una en su propia línea. De hecho, esta es una práctica más común ya que hace que sea más fácil agregar un comentario después de cada variable para describir su propósito.
Aquí hay algunos ejemplos de declaraciones de variables:


Declaraciones de variables con definiciones

Algunas veces, querrá asegurarse de que una variable tenga un valor inicial para su primer uso. Convenientemente, esto se puede hacer como parte de la declaración de la variable. La forma general para declarar y definir una variable en un paso se ve así:


Si bien la inicialización de variables como esta puede ser muy conveniente, hay un precio a pagar en términos de tiempo de inicio. El código de inicio de C Runtime Environment inicializa estas variables antes de llamar a la función main (). Los valores iniciales se almacenan junto con el código del programa en la memoria flash no volátil. Cuando el dispositivo se enciende, el código de inicio recorrerá todas las variables inicializadas y copiará sus valores iniciales del flash en la ubicación de la RAM de la variable.
Aquí hay algunos ejemplos que muestran las diversas maneras en que las variables se pueden declarar solos o declaradas y definidas juntas:



Fuente: Fundamentals of the C Programming Language

Comentarios

Entradas más populares de este blog

Resistencias

Guía de introducción de XC8