Tableau de taille variable en C
L'initialisation d'un tableau avec une longueur variable n'est pas autorisée en C . Cependant, dans certaines implémentations comme G , cette pratique est autorisée en extension.
int n = 10; double tenorData[n] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Ce code entraînera une erreur car "tenorData" est un objet de taille variable qui ne peut pas être initialisé. Pour résoudre ce problème, vous pouvez spécifier la taille du tableau sous forme de littéral numérique :
double tenorData[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
Approches alternatives
Si vous avez vraiment besoin d'un tableau de taille dynamique, C fournit plusieurs options :
int n = 10; double* a = new double[n]; // ... delete[] a;
int n = 10; std::vector<double> a(n);
Tableaux de taille constante
Si un tableau de taille variable n'est pas nécessaire, vous pouvez créer un tableau de taille fixe en utilisant une constante :
const int n = 10; double a[n];
Ou, vous pouvez utiliser un constexpr en C 11 :
constexpr int n() { return 10; } double a[n()];
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!