指针的高阶用法——传递指针给函数

C 语言允许您传递指针给函数,只需要简单地声明函数参数为指针类型即可。
下面的实例中,我们传递一个无符号的 long 型指针给函数,并在函数内改变这个值:

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;
}

当上面的代码被编译和执行时,它会产生下列结果:

Number of seconds :1294450468

能接受指针作为参数的函数,也能接受数组作为参数,如下所示:

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;
}

**当上面的代码被编译和执行时,它会产生下列结果:
**
Average value is: 214.40000

posted @ 2019-01-13 20:17  JingWenxing  阅读(2243)  评论(0)    收藏  举报