4 min de lectura

Tipos de datos en C

Antes que nada definamos que es un dato.

Dato

Elemento que  manejamos o almacenamos en un sistema informático. Los datos manejados en un algoritmo deben llevar asociado un identificador, un tipo y su valor.

Datos básicos 

Dentro de los datos básicos nos podemos encontrar con los datos estáticos (también llamados básicos, primitivos ó fundamentales), derivados y estructurados.

Los datos estáticos son los siguientes:

  • entero, real y natural (para los números)
  • carácter
  • cadena
  • lógico
  • enumerado

Tipo entero

Representa números enteros con o sin signo, que estarán compuestos por los dígitos del 0 al 9, pudiendo ser precedidos por los signos + o -.

Algunos ejemplo de datos enteros son: 0, 23, -176, -1, etc.

Para definir variables en C se antepone la palabra reservada del tipo al identificador de la variable. El tipo de datos entero se define en el lenguaje de programación C por la palabra reservada  int.

Para definir un tipo de dato en C se escribe lo siguiente:

int nombre_variable = valor;

No es necesario que la variable tenga un valor predeterminado. Se puede definir sin asignarle ningún valor.

Si tenemos varios datos que son del mismo tipo, se pueden definir todas en la misma línea de código escribiendo un único int, separando el nombre de las variables por “,”. Una vez que se haya acabado de definir variables, se cierra la línea de código con “;”,

Por ejemplo: int edad = 24;

int edad;

int edad, num, contador;

Tipo real: Se emplean para representar números reales (con decimales).

Para definir datos reales se antepone la palabra reservada float al identificador de la variable.

float identificador = valor;

Por ejemplo: float numero1, numero2;

float numero3 = 123.43;

float numero3;

Tipo carácter: Este tipo de datos se emplea para representar un carácter perteneciente a un determinado código utilizado por el ordenador (normalmente el código ASCII).

Para representar este tipo de dato se antepone la palabra reservada char al identificador de la variable.

Char identificador = ‘valor’;

Tipo cadena de caracteres: una cadena de caracteres es un número de caracteres consecutivos (incluso ninguno) encerrado entre unos delimitadores determinados, que en el lenguaje C son las comillas dobles.

Para definir variables de tipo cadena, estas se definen como vectores de caracteres, esto es, anteponiendo la palabra reservada char al identificador de la variable, y después entre corchetes la longitud máxima de cadena.

Char identificador[cantidad] = “mensaje”;

Por ejemplo: char cadena[20];

char cadena[20] = “Hola mundo”;

char cadena[] = “HOLA”;

En la siguiente tabla se hace un resumen de los distintos tipos de datos:

 

Tipo de dato Palabra reservada Ejemplo
Entero Int Int numero=0;
Real Float Float numero=12.2;
Carácter Char Char letra = ‘a’;
Cadena de carácter Char Char palabra[10] = “HOLA”;

Derivados

Puntero            
Cómo dato derivado nos encontramos con los punteros que hoy en día no se utilizan casi, a no ser que se programe en C.

Un puntero es una variable que contiene la dirección de memoria de un dato o de otra variable que contiene al dato.

Quiere esto decir, que el puntero apunta al espacio físico donde está el dato o la variable.

Un puntero puede apuntar a un objeto de cualquier tipo, como por ejemplo, a una estructura o una función.

Los punteros se pueden utilizar para referencia y manipular estructuras de datos, para referenciar bloques de memoria asignados dinámicamente y para proveer el paso de argumentos por referencias en las llamadas a funciones.

Muchas de las funciones estándares de C, trabajan con punteros, como es el caso del scanf o strcpy.

Estas reciben o devuelve un valor que es un puntero.

Por Ej. A scanf se le pasa la dirección de memoria del dato a leer (esto es un puntero)…

Un puntero es una variable que guarda la dirección de memoria de otra variable, haciendo lógica a esto, un puntero se declara igual que cualquier otra variable, pero anteponiendo un * antes del nombre de la variable.

Su sintaxis seria:

tipo *NombrePuntero;

Donde tipo es el tipo de dato al que referenciará este puntero, es decir, que si se necesita guardar la dirección de memoria de un dato int, se necesita un puntero de tipo int.

Ejemplo

#include <stdio.h>

int main()

{

int a=0;                      Declaración de variable entera de tipo entero

int *puntero;              Declaración de variable puntero de tipo entero

puntero = &a;            Asignación de la dirección memoria de “a”

printf(“El valor de a es: %d. \nEl valor de *puntero es: %d. \n”,a,*puntero);

printf(“La direccion de memoria de *puntero es: %p”,puntero);

 

return 0;

}

 

 

Los datos más complejos son los estructurados y los principales son:

  • array
  • Estructuras
  • Listas, pilas, colas y árboles ( muy utilizados en C)
  • Clases y objetos
  • Ficheros
  • Base de datos

Los cuatro primeros son los internos mientras que los dos últimos correspondes a tipos de datos externos.

 

Deja tus comentarios

This site uses Akismet to reduce spam. Learn how your comment data is processed.