Difference entrer v[] et v[5] en c++

Résolu
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention   -  
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

c'est koi la difference entre une la fonction
void tri (float v[] , int n )
et la fonction
void tri(float v[5],int n) <=-- es ce que cette fonction est valide? ou c'est la memme chose que la premiere ???

P.S : le langague est le c++

A voir également:

3 réponses

overcode Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Bonsoir,

Oui, c'est valide, mais déconseillé comme syntaxe (peut parfois générer un warning).

Le compilateur n'utilise pas l'information 'taille' que tu lui indique (en l'occurrence ici 5).

Le code suivant compilera sans erreurs :


void tri(float v[5],int n)
{
    // code de tri ...
}



float a[10] ;
float b[2] ;

// initialisations et autres traitements ...

tri(a, 10) ;
tri(b, 2) ;
...


Comme il s'agit d'une fonction de tri, qui prend en paramètre des tableaux de diverses longueurs, la syntaxe la plus propre reste la première :

void tri (float v[] , int n)


J'espère que c'est un peu plus clair :)
1
overcode Messages postés 119 Date d'inscription   Statut Membre Dernière intervention   27
 
Le plus "clair" et le plus "propre", à mon humble avis, c'est :

void tri (float v[] , int n)
1
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention  
 
ooo ok! merci bcp!
0
napi15 Messages postés 71 Date d'inscription   Statut Membre Dernière intervention  
 
donc il est plus conseiller de faire de cette facon? ....merci

void tri(float v[5],int n)
0
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 847
 
Non, cela ne générera pas de warning car c'est standard.
Le compilateur ignore purement et simplement la dimension pour un tableau une dimension. De même manière tu peux mettre : void tri (float *v, int n) puisque le compilateur transformera ton tableau en un pointeur sur le premier du tableau.
0