Exemple
#include <iostream>
int main()
{
float a[10];
for (int i=0; i <10;i++)
{ a[i]=float(i); }
return(0);
}
Note 1
Les tableaux en C/C++
(Java)
commencent obligatoirement a 0.
Commentaire: Cette
restriction complique inutilement la programmation
d'algorithmes numeriques
en C/C++
Note 2
Contrairement a certains autres langages, les tableaux
ne sont jamais passes par valeur en C/C++
Exemple:
#define m 20
void initialise(float a[], int n)
// void initialise(float a[m],
int n) est egalement possible
{
for (int i=0; i <n; i++) a[i]=1.0;
}
int main()
{
float a[m];
initialise(a,m);
return(0);
}
Il est possible
d'allouer
dynamiquement de la memoire à un tableau
Les tableaux multidimensionnels
float a[10][20];
for (int i=0; i <10; i++)
{
for (int j=0; j
<20; j++)
{
a[i][j]=1.0;
}
}
Passage d'un tableau multidimensionnel en argument d'une fonction
void initialise(float a[][20])
// void initialise(float a[10][20]) est egalement
possible.
// Obligatoirement specifier la deuxieme dimension
{
for (int i=0; i <10; i++)
{
for (int j=0; j
<20; j++)
{
a[i][j]=0.0;
}
}
}
int main()
{
float a[10][20]; initialise(a);
return 0;
}
Dans tous les cas, il n'est pas possible de passer
les
dimensions du tableau en argument de la fonction. On utilise donc
typiquement
le préprocesseur:
#define n1 10
#define n2 20
void initialise(float a[n1][n2] )
{
// ...
}