Déclarer struct dans le fichier d'en-tête

Je veux déclarer une structure dans un fichier d'en-tête donc je peux l'utiliser dans mon fichier source. Ce que je fais mal? Je veux être en mesure d'accéder à mon struct à partir de n'importe quelle fonction.

info.h

#ifndef INFO_H
#define INFO_H

typedef struct info
{
   int mem_size;
   int start_loc;
   int used_space;
   int free_space;
} INFO;
#endif

test.c

#include <stdio.h>
#include <stdlib.h>
#include <info.h>

#define F_first 1
#define F_last 2
#define F_data_int 3
#define F_data_char 4
#define F_data_float 5
#define F_print 6

void * f(int code);

int main() {

INFO in;
in.mem_size = 8;
f(F_last, 0,0);
return(0);
}

void * f(int code) {
printf("%d", in.mem_size);
}
Vous voulez probablement #include "info.h" dans votre test.c.
gotcha. J'ai pensé "#include <info.h> était la même chose
Il serait utile si vous a montré l'exact du message d'erreur compilateur vous, car le " fichier "info.h" pas trouvé d'erreur " aurait confirmé ce que les gens sont des hypothèses.
Je suis en désaccord avec ce qui est trop localisé. Il a résolu un problème que j'ai.

OriginalL'auteur Nelson.b.austin | 2013-02-05