Buenas a todos, queria saber mas que nada cuanta informacion en bytes puede guardar un espacio en memoria creada al usar un nuevo nodo con new, yo se que puede almacenarse un registro grandecito y bueno que pasaria si meto registros enormes mas que nada saber cuandos bytes es un espacio en memoria :huh:
Depende de cuantos datos tenga la estructura y de que tipo. Por cada tipo ya hay un tamaño preestablecido. por ejemplo un entero ocupa en memoria 4 byte y un long int 8 byte, sin importar de cual numero sea y una cadena dependiendo de cuanto caracteres la definiste, cada caracter ocupa 1 byte. suerte!
Si tengo esta estructura cuantos bytes seria por cada nodo?
const int MAX=32;
typedef char tcad[MAX];
typedef struct tfecha{
int dia;
int mes;
int año;
};
typedef struct tdomicilio{
tcad calle;
int numero;
tcad barrio;
};
typedef struct tvehiculo{
tcad marca;
tcad patente;
};
typedef struct thorario{
tcad horaEntrada;
tcad horaSalida;
};
typedef struct tchofer{
int legajo;
tcad nombre;
tcad apellido;
int DNI;
tfecha fecha_nac;
tdomicilio domicilio;
tvehiculo coche;
thorario extras;
int horas_extras;
};
typedef struct tnodo *pnodo;
typedef struct tnodo{
tchofer chofer;
pnodo sig;
};
La estructura tfecha ocuparia 3 byte, la estrucutra tcad ocupa 32byte, tdomicilio 65 byte, thorario y tvehiculo 64 byte y tchofer 263 byte
Dáselo a sizeof y te lo dirá:
printf("%lu", sizeof(estructura));
Puede que te encuentres con sorpresas pues C intenta acomodar los datos de las estructuras para que al procesador le sea más fácil acceder a los miembros.