Introducción a los tipos de datos en C
C es un lenguaje de programación de computadora compacto y de uso general que fue desarrollado por Dennis Ritchie para el sistema operativo Unix en los laboratorios Bell. C es un lenguaje de programación estructurado que es independiente de la máquina. C ha sido utilizado por muchas organizaciones para desarrollar sistemas operativos, intérpretes, controladores de dispositivos, también la base de datos Oracle está escrita en C y en la era moderna, los diseños de sistemas integrados y el desarrollo de IoT también usan lenguaje C. C es un lenguaje compilado en el que el compilador asume la responsabilidad de convertir el código fuente en código de objeto legible por máquina. Hay varios compiladores disponibles como: TurboC, Clang, etc.
Tipos de tipos de datos en C
- Cada vez que una variable se define en C, debe asociarse con un determinado tipo de datos.
- Esto proporciona una indicación sobre la cantidad de memoria que se asignará a esa variable y cada variable mantendrá su propia ubicación de memoria única, excepto en algunos casos donde las variables apuntan solo a la misma ubicación de memoria
- C ha categorizado los tipos de datos en:
- a. Tipos de datos primarios
- si. Tipos de datos derivados
a. Los tipos de datos primarios también se denominan tipos de datos primitivos e incluyen lo siguiente:
- En t
- Flotador
- Carbonizarse
- Vacío
si. Los tipos de datos derivados pueden estar entre los siguientes:
- Formación
- Estructura
- Unión
- Puntero
Vamos a describirlos a todos con ejemplos.
1. El tipo de datos entero (int): si tiene que almacenar los números enteros, int puede usarse como un tipo de datos, puede tener un rango de números basado en el tamaño que elija en la memoria y puede tener todos positivos o de negativo a positivo rango de números basado en la elección del usuario del diseño del código.
Tipo int | Tamaño (en bytes) | Rango permitido |
int o firmado int | 2 | -32, 768 a 32767 |
unsigned int | 2 | 0 a 65535 |
int corto o int breve firmado | 1 | -128 a 127 |
unsigned short int | 1 | 0 a 255 |
int largo o int largo firmado | 4 4 | -2, 147, 483, 648 a 2, 147, 483, 647 |
unsigned long int | 4 4 | 0 a 4, 294, 967, 295 |
Por ejemplo
#include
void main()
(
int a = 1;
printf(" %d is the integer value ", a);
unsigned short int x = -3278989;
printf(" %hu is the integer value ", x);
)
Salida:
2. Tipo de datos flotantes: cualquier número real se puede almacenar en el tipo de datos flotantes y aquí también podemos especificar el rango, según el tipo de datos y la selección de tamaño, se permite un rango de números.
Tipo de flotador | Tamaño (en bytes) | Rango de flotación |
Flotador | 4 4 | 3.4E-38 a 3.4E + 38 |
doble | 8 | 1.7E-308 a 1.7E + 308 |
doble largo | 10 | 3.4E-4932 a 1.1E + 4932 |
Por ejemplo
#include
#include
#include
void main() (
printf("max float value allowed in positive range : %g\n", (float) FLT_MAX);
printf("max float value allowed in negative range : %g\n", (float) -FLT_MAX);
printf("max double value possible in positive range : %g\n", (double) DBL_MAX);
printf("max double value possible in negative range : %g\n", (double) -DBL_MAX);
)
Salida:
3. Tipo de carácter: representa el tipo de datos de caracteres y puede estar firmado o no con un tamaño constante de 1 byte para ambos casos.
Tipo de char | Tamaño (en bytes) | Gama de char |
char o char firmado | 1 | -128 a 127 |
char sin firmar | 1 | 0 a 255 |
Por ejemplo
#include
void main() (
char c ='a';
char f = 65; // represents ASCII char value, refer to ASCII table
printf("%c %c ", c, f);
)
Salida:
4. Tipo de vacío: si no desea asignar ningún tipo a una función (es decir, no devolverá nada como si viera la función principal prefijada con el tipo de vacío en los fragmentos anteriores), puede marcarla como tipo de vacío.
Los fragmentos anteriores se pueden referir como ejemplos para el mismo.
5. Arreglos: cuando cualquier conjunto homogéneo de datos tiene que almacenarse en ubicaciones de memoria contiguas, entonces se elige este tipo de datos, el caso de uso es que puede haber ocasiones en que su código arroje más de un resultado y tenga que ser devuelto de funciona de forma acumulativa, como si tenemos que encontrar una lista de todos los meses en un año, entonces serán 12, por lo tanto, no podemos colocar 12 meses discretamente en una sola variable, por lo que utilizamos matrices para lo mismo.
Veamos un fragmento simple para comprender la declaración y el uso de matrices.
Por ejemplo
#include
void main() (
int i;
char arr() = ('a', 'b', 'c');
for(i = 0 ; i < 3 ; i++)
(
printf("%c\n", arr(i));
)
)
Salida:
6. Estructuras: si hay un requisito, en el que necesita representar cualquier estructura física del mundo en el mundo de la codificación, este tipo podría ser útil, como la clase de estudiantes se puede definir como una estructura y las marcas de los estudiantes y el número de estudiantes pueden usarse como variables dentro de él, se puede introducir una matriz que podría contener datos relacionados con dicha estructura para muchos estudiantes.
Por ejemplo
#include struct class(
int marks;
int rollNo;);
void main() (
struct class c;
c.marks=10;
c.rollNo=1;
printf("%d\n", c.marks);
printf("%d", c.rollNo);
)#include struct class(
int marks;
int rollNo;);
void main() (
struct class c;
c.marks=10;
c.rollNo=1;
printf("%d\n", c.marks);
printf("%d", c.rollNo);
)
Salida:
7. Puntero: este es uno de los tipos de datos más importantes ya que no estamos en el mundo OOP en lenguaje C, los lenguajes como Java no lo usan, pero los lenguajes de programación funcionales siempre lo usan. El concepto de punteros es asignar la memoria a alguna variable y luego referirse a esa ubicación de memoria para operaciones de lectura y escritura, esa ubicación de memoria puede ser la dirección de una función, puede ser la dirección de una variable, etc. Los punteros se hacen necesarios para Manejo de matriz y estructura en lenguaje C y también proporciona administración de memoria dinámica.
Por ejemplo
#include
void main() (
int a, *p; // variable and pointer declaration
a = 10;
p = &a;
printf("%d", *p); // print the value of 'a'
printf("%u", &a); //print the address of 'a'
printf("%u", p); // print the address of 'a' in different way
// remember & represents address of variable
)
Salida:
Conclusión
Por lo tanto, vimos varios tipos de datos en C y cómo funcionan junto con el lenguaje C para manejar escenarios de codificación. Puede hacer programación incrustada también con C, ya que también se han desarrollado utilidades para la misma. Entonces, C es un lenguaje versátil, pero con escenarios del mundo real, la codificación se vuelve compleja y más complicada.
Articulo recomendado
Esta es una guía para el Tipo de datos en C. Aquí discutimos Tipos de tipos de datos y descripciones, con ejemplos y códigos. También puede consultar nuestros otros artículos sugeridos para obtener más información:
- Tipos de datos en MATLAB
- Las mejores herramientas de visualización de datos
- Introducción a la ciencia de datos
- Modelos de datos en DBMS
- Tipos de datos de Python
- Tipos de datos PL / SQL
- Guía de diferentes tipos de datos de C #
- Diferentes tipos de datos SQL con ejemplos
- Tipos de datos PHP | Tipos de datos de PHP con ejemplos