|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
[C] Allocatore di memoria
Devo realizzare per un esame un allocatore di memoria... le specifiche sono un po' più complesse ma il problema di fondo è il seguente:
Devo realizzare una struttura che serva da memoria, in particolare ho pensato a dichiararmi un array di char visto che char ha dimensione fissa di 1 byte; L'idea dell'allocatore è simile a quella che è anche presente sul libro Kerninghan,Ritchie "Il linguaggio C" e che riporto qui sotto: Codice:
//ALLOCATORE SEMPLICISTICO DI MEMORIA
#include <stdio.h>
#include <stdlib.h>
#define ALLOCSIZE 100
typedef struct memoria{
int posizioneAttuale;
char* struttura;
int dimensione;
}memoria;
//crea la memoria
memoria* creaMemoria(int dim)
{
memoria* mem = malloc(sizeof(memoria));
mem->dimensione=dim;
mem->posizioneAttuale=0;
return mem;
}
//alloca uno spazio di dimensione n in memoria
char* alloc(int n, memoria * memory) /* ritorna un puntatore ad n caratteri */
{
int vecchiaPosizione = memory->posizioneAttuale;
memory->posizioneAttuale += n;
return memory->struttura+vecchiaPosizione;
}
int main(int argc, char* argv[])
{
memoria* mem = creaMemoria(10);
char* stringa= alloc(5,mem);
stringa="ecco";
printf("%s\n",stringa);
printf("%s\n",mem->struttura);
}
Come posso fare per memorizzare in fase di assegnamento il valore anche nella mia memoria? HELP!!! |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
up,
ho trovato anche questo: http://www.hwupgrade.it/forum/showthread.php?t=1557357 ma è diverso dal mio problema |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2005
Messaggi: 3306
|
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Apr 2007
Messaggi: 153
|
Si, è vero hai ragione
Grazie della risposta... Il problema stava tutto li. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:30.




















