Pequeña duda sobre palabra reservada new y espacios en memoria

Iniciado por Beginner Web, 13 Septiembre 2018, 03:52 AM

0 Miembros y 1 Visitante están viendo este tema.

Beginner Web

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
Código (cpp) [Seleccionar]
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:
7w7

jca1

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!

Beginner Web

Si tengo esta estructura cuantos bytes seria por cada nodo?
Código (cpp) [Seleccionar]
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;
};
7w7

jca1

#3
La estructura tfecha ocuparia 3 byte, la estrucutra tcad ocupa 32byte, tdomicilio 65 byte, thorario y tvehiculo 64 byte y tchofer 263 byte

MAFUS

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.