Latest web development tutorials

C pointeur est passé à la fonction

C Pointer C Pointer

Langage C vous permet de passer un pointeur vers une fonction, vous devez simplement déclarer un paramètre de fonction est un pointeur de type.

Les exemples suivants, on passe un pointeur long non signé à une fonction, et modifier la valeur de la fonction:

#include <stdio.h>
#include <time.h>
 
void getSeconds(unsigned long *par);

int main ()
{
   unsigned long sec;


   getSeconds( &sec );

   /* 输出实际值 */
   printf("Number of seconds: %ld\n", sec );

   return 0;
}

void getSeconds(unsigned long *par)
{
   /* 获取当前的秒数 */
   *par = time( NULL );
   return;
}

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

Number of seconds :1294450468

Accepter pointeur comme argument d'une fonction, mais accepte également un tableau comme un paramètre, 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("Average value is: %f\n", avg );
    
   return 0;
}

double getAverage(int *arr, int size)
{
  int    i, sum = 0;       
  double avg;          
 
  for (i = 0; i < size; ++i)
  {
    sum += arr[i];
  }
 
  avg = (double)sum / size;
 
  return avg;
}

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

Valeur moyenne est: 214,40000

C Pointer C Pointer