wie bekomme ich es hin, daß meine, in einem C-File vorhandenen,
Variablen auf das C-File beschränkt bleiben? Das also der Linker
diese nicht mit Variablen aus anderen C-Files verwirbelt?
Muß ich da jetzt jeweils static davor schreiben, oder eben genau nicht?
Frage 1:
Du verwechselst hier static mit global. Deklariere die Variablen einfach lokal (in der int main()).
Frage 2:
wieso gibst du struct den Namen times? typedef besagt nichts anderes, als das du einen neuen Datentyp vereinbarst. Dem zu folge heißt jetzt structtimes. Was du willst, ist eine Structur namens times, oder?
...
}blupp;```
In C gibts kein** new**! Dort wird der Speicher mit **malloc** dynamisch verwaltet.
Da es in C keine Objekte gibt, kannst du auch keins von einer Struktur machen. Also Leroy, vergiss den **new**-Kram...
Edit: Du darfst C nicht mit C++ verwechseln - dort gibts Objekte...(und new, für das Speichern auf'm Heap)
int a,b,c,d;
};
int main(){
times blupp={1,2,3,4};
printf("%d%d%d%d",blupp.a,blupp.b,blupp.c,blupp.d);
return 0;
}```
In dem Fall wäre blupp die Structurvariable mit der man auf die einzelnen Komponenten zugreifen kann(du würdest das Objekt nennen).
struct times{
int a,b,c,d;
};
int main(){
struct times blupp={1,2,3,4};//das könnte vielleicht gehen
struct times blupp2;//Sonst das
blupp2.a=1;
blupp2.b=2;
blupp2.c=3;
blupp2.d=4;
printf("%d%d%d%d",blupp.a,blupp.b,blupp.c,blupp.d);
return 0;
}
struct times{
int a,b,c,d;
};
int main(){
struct times blupp={1,2,3,4};//das könnte vielleicht gehen
struct times blupp2;//Sonst das
blupp2.a=1;
blupp2.b=2;
blupp2.c=3;
blupp2.d=4;
printf("%d%d%d%d",blupp.a,blupp.b,blupp.c,blupp.d);
return 0;
}
```[/QUOTE]
Das ist doch das Gleiche - blos schreibintensiver...
Manche Compiler sehen das aber anders!
MS-Produkte fressen es und geben auch relativ wenige Warnungen zur Typenkonvertierung aus, Eclipse ist da schon weit strenger!
versuch mal folgendes auf deinem Compiler:
", time(NULL));```
Unter Eclipse musst du noch einen Cast auf INT einbauen um ohne Fehler und Warnung übersetzen zu können.
mfg
Vanice