- Tipos de datos simples
- Tipos de datos compuestos
- Variables
- Punteros
- Operadores(Capaz no)
- Funciones
- Memoria
- Archivos
- Serializacion
- Estructura de un proyecto en c
Contamos con 5 tipos de datos basicos.
Estos son:
- char, son los caracteres. Como por ejemplo 'c'.
- int, son numeros positivos y negativos. Sus respectivos valores maximos son 2147483647 y -2147483648.
- long, tambien son numeros positivos y negativos como los int, pero de mayor tamaño. [-9223372036854775808;9223372036854775807]
- float, numeros positivos y negativos con coma. Como el 3.14159
- void, tipo nulo o vacio.
- los booleanos true y false, estan representados por 1 y 0 respectivamente.
Ejercicio:
{"Informacion","Nombre de la variable"}
Queremos guardar la siguiente informacion en las distintas variables:
{"Saldo de una cuenta bancaria, como maximo los clientes pueden tener 20000","saldoBanco"}
{"Cantidad de alumnos en el aula", "cantidadDeAlumnos"}
{"Primer letra de tu nombre","inicial"}
Ademas, contamos con tipos de datos compuestos.
- Estructuras
- Arrays
- Enums
Los enums son tipos de datos enumerables. La asignacion de los numeros arranca desde 0 de izquierda a derecha en la definicion. Salvo que se desee cambiar el valor de inicio del enum. AL momento de definirlo se hace de la siguiente manera:
enum nombreDelEnum {nombreDeLosEnums}
Por ejemplo, queremos definir los meses del año y los dias de semana.
enum meses {ENERO,FEBRERO,MARZO,ABRIL,MAYO,JUNIO,JULIO,AGOSTO,SEPTIEMBRE,OCTUBRE,NOVIEMBRE,DICIEMBRE};
enum dias {LUNES,MARTES,MIERCOLES,JUEVES,VIERNES,SABADO,DOMINGO};
En este ejemplo ENERO y LUNES tienen el valor 0, FEBRERO y MARTES el 1, ... Esto sirve mucho para que el codigo quede mas Las estructuras pueden tener cualquier tipo de dato adentro. Se definen de la siguiente manera:
struct NombreDeLaEstructura{
tipoDeDato nombreDelAtributo;
};
Queremos definir a una persona que tiene
struct Persona{
char* nombre;
char* apellido;
int edad;
};
Las variables pueden ser globales o locales.
Las variables globales estan definidas entes del main y pueden ser utilizadas en cualquier funcion. Al cambiar su valor, quien vuelva a utilizarla tendra el ultimo valor asignado.
Las variables locales, estan definidas dentro de cualquier funcion. Al salir de la funcion dichas variables son eliminadas/perdida. Salvo que sean retornadas ejemplo.
Ejemplo:
int anio = 2019; //Variable global
int main(){
printf("Anio original: %d",anio);
sumarAnioGlobal();
printf("Anio siguiente: %d",anio);
return 0;
}
void sumarAnioGlobal(){
anio = anio+1;
}
En este ejemplo vemos que la variable anio es global y es accedida en la funcion sumarAnio. Tambien vemos que actualiza su valor.
int main(){
int anio = 2019;
}
void sumarAnioA(int anio){
int anio + 1;
printf(anio);
}
Veremos distintos tipos de operadores. Entre los cuales tenemos:
- Aritmeticos
+
: suma.-
: resta.++
: incremento en 1.--
: decremento en 1.*
: multiplicador./
: division.%
: resto.
- Relacionales
==
: chequea que sean iguales.!=
: chequea que sean distintos.>
: chequea que el valor a izquierda sea mayor que el de la derecha.>=
: chequea que el valor a izquierda sea mayor o igual que el de la derecha.<
: chequea que el valor a izquierda sea menor que el de la derecha.<=
: chequea que el valor a izquierda sea menor o igual que el de la derecha.
- Lógicos
&&
: corresponde al operador logico and||
: corresponde al operador logico or!
: corresponde al operador logico not
chequeo de tipos: https://stackoverflow.com/questions/9804371/syntax-and-sample-usage-of-generic-in-c11/17290414#17290414