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
|