Automatische dynamische Arrays

10/11/2009 - 00:03 von Sönke Müller-Lund | Report spam
Hallo NG,

bisher bin ich stets davon ausgegangen, dass die Größe eines
automatischen Arrays zur Compilezeit konstant sein muss. Mit dem gcc
4.1.2 bekomme ich aber folgendes problemlos übersetzt:

schnipp

#include <stddef.h>

extern void doSomething(int a[], size_t n);

void foo(size_t n) {
int a[n];
doSomething(a, n);
}

schnipp

War das schon immer so, oder ist das ein "frisches" Feature? Mein
betagtes "Programmieren in C" von K&R sagt darüber nichts.

Grüße
Sönke Müller-Lund
 

Lesen sie die antworten

#1 Claus Reibenstein
10/11/2009 - 00:14 | Warnen spam
Sönke Müller-Lund schrieb:

bisher bin ich stets davon ausgegangen, dass die Größe eines
automatischen Arrays zur Compilezeit konstant sein muss.



Das war bis 1999 auch der Fall. Mit dem damals verabschiedeten neuen
Standard (ISO/IEC 9899:1999) hat sich das geàndert.

War das schon immer so, oder ist das ein "frisches" Feature? Mein
betagtes "Programmieren in C" von K&R sagt darüber nichts.



K&R behandelte in der 2. Auflage auch nur ANSI-C von 1990 (ISO/IEC
9899:1990). Einen neueren K&R gibt es meines Wissens nicht.

Gruß. Claus

Ähnliche fragen