本文主要是介绍指针与函数(二),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
接上
二 返回指针值的函数
返回值的指针类型的函数称为返回指针值的函数。返回指针值的函数的一般形式为
数据类型名 *函数名(参数表)例为 int * max (int n);
#include <stdio.h>// 声明指针函数
int *max(int n);int main() {// 定义指针 p,用于接收最大值元素的地址int *p;// 调用 max 函数,传入参数 8,获取最大值元素的地址并赋值给 pp = max(8);// 输出最大值printf("最大值是:%d\n", *p);return 0;
}// 定义指针函数 max,返回最大值元素的地址
int *max(int n) {// 定义并初始化静态整型数组 astatic int a[] = {13, 24, 38, 27, 11, 9, 36, 18};int i, m = 0;// 遍历数组,从索引 1 开始到 n - 1,找到最大值元素的下标 mfor (i = 1; i < n; i++) {if (a[m] < a[i]) {m = i;}}// 返回最大值元素的地址return &a[m];
}
注意函数中数组的存储类型一定要是静态(static)的,如果不是静态数组,函数返回时,数组已经被释放,则不能返回地址。指针函数在处理动态数据结构时非常有用
这篇关于指针与函数(二)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!