Récupérer les arguments d'un tableau renvoyé par une fonction

il y a une autre erreur :

  accelx = float(ax)*cos(angles[0]))9.81/16384;
// à remplacer par :
  accelx = float(ax)*cos(angles[0])*9.81/16384;

Comme le suggère lesept, passer par un pointeur en paramètre permet de se passer de variable static ou globale.

void integrationAngles(float *angles)
{
    // Ici, on va mesurer les angles des axes x,y,z de l'accéléromètre avec l'axe vertical.
    // Pour cela, on intègre les vitesses angulaires délivrées par le gyroscope.
    // Les angles renvoyés sont en rad.
  accel.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  alpha = alpha + (float(gx)*dt/131)*2*PI/360;
  beta = beta + (float(gy)*dt/131)*2*PI/360;
  gamma = gamma + (float(gy)*dt/131)*2*PI/360;
  angles[0] = alpha;
  angles[1] = beta;
  angles[2] = gamma;
}

Dans ce cas, integrationAngles() ne retourne rien.

ensuite :

float acceleration(){
  float angles[3];
    // Renvoie l'accélération à un instant t
  accel.getMotion6(&ax, &ay, &az, &gx, &gy, &gz);
  integrationAngles(angles);
  accelx = float(ax)*cos(angles[0])*9.81/16384;
  accely = float(ay)*cos(angles[1])*9.81/16384;
  accelz = float(az)*cos(angles[2])*9.81/16384;
  accelVerticale = sqrt(pow(accelx,2) + pow(accely,2) + pow(accelz,2));
  return(accelVerticale);
}