Datum: 08.05.2008 22:01
Hab hier n problem mit folgendem code:
double workarray[WIDTH][HEIGHT] = (double *)malloc((WIDTH*HEIGHT*4)); |
gcc meckert was von "invalid initializer" . . . ich hab keine Ahnung warum. . . Sieht einer von euch, was da faul ist?
Datum: 08.05.2008 22:03
Wenn du ein Array definierst brauchst du kein malloc mehr, der Speicher wird automatisch reserviert.
Datum: 09.05.2008 04:37
(double *)malloc((WIDTH*HEIGHT*4)); |
Und das gewöhn dir mal ganz schnell ab, das ist fehlerträchtig und wie man sieht hast du den Fehler auch gleich gemacht. So schaut's gut aus:
(double *)malloc(WIDTH*HEIGHT*sizeof(double)); |
Ein double hat übrigens 8 Byte...
Datum: 09.05.2008 08:30
I_ H. wrote: > Ein double hat übrigens 8 Byte... Er kann auch 12 oder 16 haben. Dafür gibt's ja sizeof. Beim AVR-GCC hat er derzeit übrigens wirklich 4 Byte.
Datum: 09.05.2008 09:28
Wenn du das zweidimensionale Array tatsächlich dynamisch anlegen willst, geht das so:
double (*workarray)[HEIGHT] = (double (*)[HEIGHT])malloc(WIDTH*HEIGHT*sizeof(double)); |
Hinterher kannst du dann in gewohnter Weise mit
workarray[x][y] |
darauf zugreifen.
Datum: 09.05.2008 09:38
... oder sauberer:
double (*workarray)[HEIGHT] = (double (*)[HEIGHT])malloc(WIDTH*sizeof(double [HEIGHT])); |
Datum: 09.05.2008 10:16
Und warum nicht einfach .. ?
double workarray[WIDTH][HEIGHT];
|
Sofern WIDTH und HEIGHT konstant sind.
Antwort schreiben
Die Angabe einer Email-Adresse ist freiwillig. Wenn Sie automatisch per Email über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
- Suchfunktion und Betreffsuche benutzen - vielleicht gibt es schon einen ähnlichen Beitrag
- Aussagekräftigen Betreff wählen
- Im Betreff angeben um welchen Controllertyp es geht (AVR, PIC, ...)
- Groß- und Kleinschreibung verwenden
- Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang
- JPEG-Dateien (.jpg) nur für Fotos verwenden, Schaltpläne, Screenshots usw. als PNG oder GIF anhängen
Formatierung (mehr Informationen...)
- [c]C-Code[/c]
- [avrasm]AVR-Assembler-Code[/avrasm]
- [pre]vorformatierter Text (z.B. Code in anderen Sprachen)[/pre]
- [math]Formel in LaTeX-Syntax[/math]
- [[Titel]] - Link zu Artikel


