Después de la declaración de una array de estructura, se supone que el tamaño de byte, short, int y long son 1, 2, 3 y 4 respectivamente. La regla de alineación estipula que el campo de n bytes debe ubicarse en una dirección divisible por n. Los campos de una estructura no se reorganizan, se utiliza relleno para garantizar la alineación. Todos los elementos de la array deben tener el mismo tamaño.
Struct complx Short s Byte b Long l Int i End complx Complx C[10]
Suponiendo que C se encuentra en una dirección divisible por 8, ¿cuál es el tamaño total de C, en bytes?
(A) 150
(B) 160
(C) 200
(D) 240
Respuesta: (B)
Explicación: El tamaño del tipo de datos complejo será,
= 2 + 1 + 4 + 3 = 10 Bytes
Pero, la dirección es divisible por 8, por lo que debería ser mínima,
= 10+6 = 16 Bytes
Por lo tanto, el tamaño total de esos 10 tipos de datos,
= 16*10 = 160 Bytes
Entonces, la opción (B) es correcta.
Cuestionario de esta pregunta
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA