typedef - malloc: Besser, schlechter oder wumpe ?
-
SG1 schrieb:
* _Grossbuchstabe verwendet man nicht.
Was verwendet man dann und warum ?
-
proggingmania schrieb:
SG1 schrieb:
* _Grossbuchstabe verwendet man nicht.
Was verwendet man dann
Irgendwas anderes.
und warum ?
Weil alle Bezeichner, die mit _Grossbuchstabe anfangen, reserviert sind.
-
[quote="proggingmania"]
Dafür
error C2065: '_MyStruct' : undeclared identifier beip = malloc( sizeof( _MyStruct ) );
Der Identifier heißt ja auch struct _MyStruct
proggingmania schrieb:
Z.B. hat der vorher das hier
int const maxlen = 100; MyStruct myStruct[maxlen];
size_t const maxlen = 100;
aber wenn dein Compiler das nicht kann, dann nimm
enum { maxlen = 100 };
-
SG1 schrieb:
Weil alle Bezeichner, die mit _Grossbuchstabe anfangen, reserviert sind.
Komisch das der dann nicht meckert, der guteste
.
-
rüdiger schrieb:
aber wenn dein Compiler das nicht kann, dann nimm
enum { maxlen = 100 };
Supie das klappt, gefällt mir auch gleich viel besser, als so ne 'festgebrannte' 100.
-
progginmania schrieb:
SG1 schrieb:
Weil alle Bezeichner, die mit _Grossbuchstabe anfangen, reserviert sind.
Komisch das der dann nicht meckert, der guteste
.
Nimmt dein Compiler vielleicht zufällig hin. Aber es ist nach meiner Meinung absolut keine gute Idee, sich an Fehler zu gewöhnen, nur weil zufällig die Version des von dir verwendeten Compilers auf dem Betriebssytem mit deiner Hardware zu einer bestimmten Uhrzeit den Fehler akzeptiert...
YMMV
(Wenn du nicht glaubst, das es ein Fehler ist, schau im ISO C-Standard Abschnitt 7.1 (hatten gerade erste einen Thread drüber))
-
progginmania schrieb:
SG1 schrieb:
Weil alle Bezeichner, die mit _Grossbuchstabe anfangen, reserviert sind.
Komisch das der dann nicht meckert, der guteste
.
Gerechnet auf alles, was man falsch machen kann, meckert er sowieso fast nie.
-
proggingmania schrieb:
printf( "%i %i ", sizeof(_MyStruct), sizeof(MyStruct) );
Das hier geht im übrigen auch nur mit einem C++-Compiler.
-
rüdiger schrieb:
(Wenn du nicht glaubst, das es ein Fehler ist, schau im ISO C-Standard Abschnitt 7.1 (hatten gerade erste einen Thread drüber))
Neee, nicht weil ich es nicht glaube, sondern weil ich es so in relativ großen Projekten gesehen hab.
Naja, ist ok, ich danke euch allen.
Gruß,
p.
-
Du musst entweder
MyStruct *p = malloc(sizeof(MyStruct));
oder
MyStruct *p = malloc(sizeof(struct _MyStruct));
schreiben
edit:
Mist, hab nicht gesehen, dass es eine 2. Seite gibt
die Lösung war ja schon oben.
-
proggingmania schrieb:
rüdiger schrieb:
(Wenn du nicht glaubst, das es ein Fehler ist, schau im ISO C-Standard Abschnitt 7.1 (hatten gerade erste einen Thread drüber))
Neee, nicht weil ich es nicht glaube, sondern weil ich es so in relativ großen Projekten gesehen hab.
Da siehst du: Auch Profis machen Fehler...
-
rüdiger schrieb:
Da siehst du: Auch Profis machen Fehler...
Könnt mir vorstellen, das die das wissen und entweder drauf pfeifen, oder ihre eigenen Standards machen.
-
proggingmania schrieb:
rüdiger schrieb:
(Wenn du nicht glaubst, das es ein Fehler ist, schau im ISO C-Standard Abschnitt 7.1 (hatten gerade erste einen Thread drüber))
Neee, nicht weil ich es nicht glaube, sondern weil ich es so in relativ großen Projekten gesehen hab.
Könnte mit ein Grund sein, warum relativ große Projekte manchmal scheitern...