Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: Beginner Web en 13 Septiembre 2018, 03:52 am



Título: Pequeña duda sobre palabra reservada new y espacios en memoria
Publicado por: Beginner Web en 13 Septiembre 2018, 03:52 am
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
  1. 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:


Título: Re: Pequeña duda sobre palabra reservada new y espacios en memoria
Publicado por: jca1 en 13 Septiembre 2018, 17:06 pm
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!


Título: Re: Pequeña duda sobre palabra reservada new y espacios en memoria
Publicado por: Beginner Web en 13 Septiembre 2018, 22:42 pm
Si tengo esta estructura cuantos bytes seria por cada nodo?
Código
  1. const int MAX=32;
  2. typedef char tcad[MAX];
  3. typedef struct tfecha{
  4. int dia;
  5. int mes;
  6. int año;
  7. };
  8. typedef struct tdomicilio{
  9. tcad calle;
  10. int numero;
  11. tcad barrio;
  12. };
  13. typedef struct tvehiculo{
  14. tcad marca;
  15. tcad patente;
  16. };
  17. typedef struct thorario{
  18. tcad horaEntrada;
  19. tcad horaSalida;
  20. };
  21. typedef struct tchofer{
  22. int legajo;
  23. tcad nombre;
  24. tcad apellido;
  25. int DNI;
  26. tfecha fecha_nac;
  27. tdomicilio domicilio;
  28. tvehiculo coche;
  29. thorario extras;
  30. int horas_extras;
  31. };
  32. typedef struct tnodo *pnodo;
  33. typedef struct tnodo{
  34. tchofer chofer;
  35. pnodo sig;
  36. };


Título: Re: Pequeña duda sobre palabra reservada new y espacios en memoria
Publicado por: jca1 en 14 Septiembre 2018, 00:09 am
La estructura tfecha ocuparia 3 byte, la estrucutra tcad ocupa 32byte, tdomicilio 65 byte, thorario y tvehiculo 64 byte y tchofer 263 byte


Título: Re: Pequeña duda sobre palabra reservada new y espacios en memoria
Publicado por: MAFUS en 14 Septiembre 2018, 08:41 am
Dáselo a sizeof y te lo dirá:
Código:
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.