Latest web development tutorials

C passer un tableau à une fonction

C tableau C tableau

Si vous voulez passer un tableau à une dimension dans une fonction comme un argument, vous devez être dans les trois méthodes suivantes pour déclarer une fonction sous la forme de paramètres, les résultats de ces trois états est de la même façon, parce que chaque moyen va dire au compilateur de recevoir un pointeur entier. De même, vous pouvez aussi passer un tableau multidimensionnel comme un paramètre formel.

Mode 1

Paramètre formel est un pointeur (vous pouvez apprendre dans le chapitre suivant à la connaissance du pointeur):

void myFunction(int *param)
{
.
.
.
}

Mode 2

Paramètre formel est une taille de tableau défini:

void myFunction(int param[10])
{
.
.
.
}

Mode 3

Paramètre formel est un tableau de taille non définie:

void myFunction(int param[])
{
.
.
.
}

Exemples

Maintenant, regardons la fonction suivante que le tableau en tant que paramètre, et a également adopté un autre paramètre, selon la prédication des paramètres, le rendement moyen pour chaque élément dans le tableau:

double getAverage(int arr[], int size)
{
  int    i;
  double avg;
  double sum;

  for (i = 0; i < size; ++i)
  {
    sum += arr[i];
  }

  avg = sum / size;

  return avg;
}

Maintenant, nous allons appeler la fonction ci-dessus comme suit:

#include <stdio.h>
 
/* 函数声明 */
double getAverage(int arr[], int size);

int main ()
{
   /* 带有 5 个元素的整型数组 */
   int balance[5] = {1000, 2, 3, 17, 50};
   double avg;

   /* 传递一个指向数组的指针作为参数 */
   avg = getAverage( balance, 5 ) ;
 
   /* 输出返回值 */
   printf( "平均值是: %f ", avg );
    
   return 0;
}

Lorsque le code ci-dessus est compilé et exécuté, il produit les résultats suivants:

平均值是: 214.400000

Comme vous pouvez le voir, la fonction, la longueur du réseau est pertinent, parce que C ne fonctionne pas la vérification des limites des paramètres de formulaire.

C tableau C tableau