Który kompilator powinienem ufać?

To będzie coś z pytania początkującego, ale próbowałem pracować nad małym ćwiczeniem wC Język (nieC ++) i miałem problemy.

Powiedzmy, że chciałem użyć tablicy w metodzie, której rozmiar zależał od jednego z argumentów:

void someFunc(int arSize)
{
    char charArray[arSize];
    // DO STUFF
    ...
}

Kiedy próbuję to skompilować jako.c plik wewnątrzVisual Studio 2013 Pojawia się błąd mówiący, że nie stały rozmiar tablicy jest niedozwolony. Jednak ten sam kod działa wewnątrzCodeBlocks pod kompilatorem GNU. Co mam ufać? Czy to normalne, że kompilatory zachowują się tak inaczej? Zawsze myślałem, że jeśli robisz coś, czego kompilator nie lubi, nie powinieneś tego robić, ponieważ nie jest to standard.

Każde wejście jest przydatne! Pochodzę z tła wPyton i staram się bardziej zaangażować w programowanie za pomocą struktur danych i algorytmów.

Moją platformą jest Windows, jak pewnie wiesz. Daj mi znać, jeśli to pytanie wymaga więcej informacji, zanim będzie można na nie odpowiedzieć.

questionAnswers(4)

yourAnswerToTheQuestion