Je suivais ce example, et mon programme ressemble à ceci:Comment déclarer une structure dans c?
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
struct Foo
{
int x;
int array[100];
};
struct Foo f;
f.x = 54;
f.array[3]=9;
void print(void){
printf("%u", f.x);
}
int main(){
print();
}
Cependant, je reçois des erreurs lors de la compilation en utilisant make example_1
:
example_1.c:13:1: error: unknown type name 'f'
f.x = 54;
^
example_1.c:13:2: error: expected identifier or '('
f.x = 54;
^
example_1.c:14:1: error: unknown type name 'f'
f.array[3]=9;
^
example_1.c:14:2: error: expected identifier or '('
f.array[3]=9;
^
4 errors generated.
make: *** [example_1] Error 1
Quel est le problème avec cette déclaration de struct?
Vous ne pouvez pas écrire de code exécutable en dehors d'une fonction. Mettez les 3 lignes 'struct Foo f; ... f.array [3] = 9' dans 'main()'. – clcto