Scusatemi
vediamo di capirci qualcosa e trarre la risposta.
quando faccio
struct attributo
{
int attribbuto;
char *valore;
};
numero = new (std::nothrow) attributo;
viene assegnato un indirizzo nello heap alla variabile numero tramite la funzione malloc
giusto?
adesso visto che malloc per "accontentare" la mia richiesta crea un area ben specifica.
vorrei sapere come faccio a calcolarmi o prendere l'indirizzo iniziale e finale di questa area
e se è possibile anche la sua struttura.
immagino che la struttura possa essere una di queste 2.
1) indirizzo elemento allocato = memoria heap diretta
indirizzo secondo elemento allocato = memoria heap diretta del primo elemento +sua dimensione +1
2) indirizzo elemento allocato = i° elemento di tabella heap
secondo elemento allocato = II elemento di tabella heap
con la tabella heap fatta nel seguente modo
[0,0]=locazione di memoria allocata
[0,1..]=locazioni di memoria allocata (qualora non si trovassero abbastanza byte consecutivi per soddisfare la richiesta)
[0,x]=byte memoria allocata
spero che adesso la questione sia un pò più chiara