0101001 Posted April 9, 2014 Report Share Posted April 9, 2014 Hola usuarios de Chilecomparte, aunque soy usuario de hace mucho tiempo en la pagina, no había tenido tanta participación en este foro, pero, por un cambio de giro de la vida, espero ser mas activo en el tema de programación. :tipeando: Prefacio: estudie programación de computadores el año 2003 en talca, pero esta ciudad es una mierda para los informáticos, y con un hijo en camino busque y sin encontrar trabajo como programador, busque cualquier cosa y quede como cajero en una tienda. Ahora que ha pasado mucha agua bajo el puente, quiero retomar la programación (mi gran pasión desde que la conocí) y estoy leyendo un manual "C++, como programar, 6° edición, Deitel" y me acuerdo de muchas de las cosas que salen ahí, pero tengo una duda en un ejercicio de precompilador que es el siguiente: Se supone que el ejemplo mprime en pantalla el tamaño en bytes de la estructura antes definida, pero ¿no son las dos estructuras iguales?, ¿porque según el resultado no son de tamaño igual?, he aquí el ejemplo: #include <iostream>using namespace std;#pragma pack(1)struct A { int x; char a; int y; char b;};#pragma pack()struct B { int x; int y; char a; char b;};int main() { cout << "Tamaño de int: " << sizeof(int) << endl; cout << "Tamaño de char: " << sizeof(char) << endl; cout << "Tamaño de estructura A: " << sizeof(A) << endl; cout << "Tamaño de estructura B: " << sizeof(B) << endl;return 0;} Y aqui el resultado de la ejecucion, segun "C++, como programar, 6° edición, Deitel": Tamaño de int: 4Tamaño de char: 1Tamaño de estructura A: 10Tamaño de estructura B: 12 Agradezco de antemano su ayuda para comprender esta situación, si este no es el foro exacto, le pido disculpas a los administradores y les pido que me indiquen donde colocarlo como corresponde. Gracias, y espero ser mas activo en esta pagina que sigo desde hace mucho tiempo, me han salvado muchas veces, también gracias por sus comentarios... Se despide un Informático que nunca dejo de serlo... PDTA: Talca es una MIERDA!!! Link to comment Share on other sites More sharing options...
xomarx69 Posted April 9, 2014 Report Share Posted April 9, 2014 Hola amigo, el orden de los atributos de la estructura podrían afectar el tamaño de esta. Tiene que ver con como el compilador, en base a diversas variables (por ejemplo la arquitectura del pc), hace reserva de la memoria:http://www.cprogramming.com/tutorial/size_of_class_object.htmlLa verdad es que no recordaba esto y como la pregunta es interesante, busqué la respuesta en internet. Saludos! Link to comment Share on other sites More sharing options...
0101001 Posted April 10, 2014 Author Report Share Posted April 10, 2014 A mi me parece extraño que recomienden usar el IDE de VB para C++ en el libro pero usen compiladores de software abierto como Dev C++, gracias, investigare mas al respecto y publicare lo que encuentre,gracias por la observación.... Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now