2010-09-15 1 views
1

Ma question est assez basique, mais ça fait longtemps. Je lis dans un fichier texte et enregistre des nombres dans le texte à un struct 'Record'. Après avoir lu le texte dans mon tampon d'enregistrement, je veux le placer dans une zone de mémoire.C - Comment sauvegarder des structures dans une section de mémoire mallocalisée?

typedef struct 
{ 
int line_status[64]; 
float line_data[64], relativetime; 
unsigned long blkhdr_ticks; 
} Record; 

Record *storage; 
storage = (Record*)malloc(nRange*sizeof(Record)); 
Record buffer; 

Où nRange est un nombre aléatoire, et le tampon est un enregistrement avec des valeurs, bien que je ne l'ai pas énuméré mon code qui attribue ces au tampon. Je pensais que la syntaxe était quelque chose comme:

&storage = buffer; 

Mais je sais que ce n'est pas correct. Toute aide serait grandement appréciée.

Répondre

5

Vous pouvez également traiter le stockage en tant que matrice.

storage[0] = buffer; 
storage[1] = anotherBuffer; 
... 
storage[nRange-1] = lastBuffer; 
4

Vous devriez pouvoir dire *storage = buffer; ou storage[0] = buffer;.

1

Depuis storage peut également être considérée comme un tableau d'enregistrements nRange (je suppose que c'est vraiment votre intention), vous pouvez simplement faire:

storage[0] = buffer; 
storage[someOtherIndex] = buffer; 
Questions connexes