Eu estava com uma dúvida sobre a disposição de membros de uma estrutura na memória. Por exemplo, um array tem um elemento ao lado do outro na memória, e eu queria saber como era isso com estruturas, se é igual ou se os membros estão em locais aleatórios. Então usei esse programa em c++ :
#include <iostream>
using namespace std;
struct product {
int weight;
float price;
};
product apple;
int main ()
{
cout << &apple << endl;
cout << &apple.weight << endl;
cout << &apple.price << endl;
return 0;
}
E obtive a resposta :
0x804a0d0
0x804a0d0
0x804a0d4
Então os membros de uma estrutura ficam lado a lado na memória, né ? E o endereço do objeto se refere ao endereço do primeiro membro, certo ?
Pergunta
Math_naVeia
Eu estava com uma dúvida sobre a disposição de membros de uma estrutura na memória. Por exemplo, um array tem um elemento ao lado do outro na memória, e eu queria saber como era isso com estruturas, se é igual ou se os membros estão em locais aleatórios. Então usei esse programa em c++ :
#include <iostream>
using namespace std;
struct product {
int weight;
float price;
};
product apple;
int main ()
{
cout << &apple << endl;
cout << &apple.weight << endl;
cout << &apple.price << endl;
return 0;
}
E obtive a resposta :
0x804a0d0
0x804a0d0
0x804a0d4
Então os membros de uma estrutura ficam lado a lado na memória, né ? E o endereço do objeto se refere ao endereço do primeiro membro, certo ?
Link para o comentário
Compartilhar em outros sites
5 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.