Accéder à un tableau vide
Zarquoi
Messages postés
246
Statut
Membre
-
NHenry Messages postés 15235 Date d'inscription Statut Modérateur Dernière intervention -
NHenry Messages postés 15235 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Je débute en C++.
Je me pose une question : Quand j'affiche un tableau qui possède des cases vides, j'obtiens un résultat étonnant. Pourquoi ?
J'obtiens ceci :

Les 2 premiers nombres affichés sont normaux :D
Mais pourquoi il n'y a pas 0 ou "undefined" pour les suivants ?
Ça correspond à quoi ces nombres ??
Il ne sont pas censés exister !
Merci :)
Je débute en C++.
Je me pose une question : Quand j'affiche un tableau qui possède des cases vides, j'obtiens un résultat étonnant. Pourquoi ?
#include <iostream>
using namespace std;
int main()
{
int const tT1(5);
double t1[tT1];
t1[0] = 4.1;
t1[1] = 3.4;
for(int i(0); i<tT1; ++i)
{
cout << t1[i] << endl;
}
return 0;
}
J'obtiens ceci :

Les 2 premiers nombres affichés sont normaux :D
Mais pourquoi il n'y a pas 0 ou "undefined" pour les suivants ?
Ça correspond à quoi ces nombres ??
Il ne sont pas censés exister !
Merci :)
1 réponse
-
Pas défaut, C/C++ ne définit pas la valeur des cases mémoire, l'allocation est faite, mais le remplissage n'est pas fait par le code sous-jacent.
-
D'accord ;)
Mais c'est quoi ces nombres ?
Ils sortent d'où ?
Pourquoi ai-je le "2.07339e-317" et pas un autre ?
J'ai créé une fonction, et j'ai un résultat différent !
#include <iostream> using namespace std; void t1() { int const tT1(5); double t1[tT1]; t1[0] = 4.1; t1[1] = 3.4; for(int i(0); i<tT1; ++i) { cout << t1[i] << endl; } } int main() { t1(); return 0; }
J'obtiens :
Pourquoi je n'ai pas les mêmes nombres que le même code sans la fonction ? -
-