Neudefinition; verschiedene Grundtypen (typedef struct)

Ich habe ein bisschen Probleme damit, Strukturen zum Funktionieren zu bringen, wenn sie in verschiedenen Dateien definiert sind. Soweit ich das beurteilen kann, sagt mir der Fehler, dass die Struktur zu zwei verschiedenen Zeiten definiert wird. Ich glaube, dass ich vielleicht irgendwo extern benutzen muss? Ich habe versucht, auf Google zu experimentieren und nach Hilfe zu suchen, aber ohne Erfolg.

Jede Hilfe wäre sehr dankbar, danke. Alle vier meiner Dateien sind unten.

DATEI: Foo.h

typedef struct
{
    int number;
} my_struct;    // Redefinition; different basic types

DATEI: Foo.c

#include "Foo.h"
#include "Bar.h"
#include <stdio.h>

my_struct test;

int main(void)
{
    test.number = 0;
    DoSomething(&test);
    printf("Number is: ", &test.number);
}

DATEI: Bar.h

#include "Foo.h"

void DoSomething(my_struct *number);

DATEI: Bar.c

#include "Bar.h"

void DoSomething(my_struct *number)
{
    number->number = 10;
}

Antworten auf die Frage(1)

Ihre Antwort auf die Frage