声明返回指向整型指针数组的指针的 C/C++ 函数

2024 年 8 月 28 日 | 3 分钟阅读

在本教程中,我们将学习如何声明一个返回整数指针数组指针的 C/C++ 函数。

第 1 部分:创建一个函数,该函数接收一个 int* 参数并生成一个包含四个整数指针的列表的指针。

虽然乍一看可能很困难,但我们可以通过一系列分解的语句来声明适当的函数。

1. 我们需要一个参数为 int * 的函数。

function(int *)

2. 一个接受 int * 参数并返回指向的函数

(*function(int *))

3. 一个参数为 int * 的函数,返回指向一个 4 数组的指针。

(*function(int *))

[4]

4. 一个参数为 int * 的函数,返回指向一个包含四个整数指针的数组的指针

int *(*function(int *))[4];

我们如何确定前面的声明是完全正确的?以下程序可以验证我们的声明。

代码(语法)

宏 SIZE_OF_ARRAY 用于符号化地表示数组大小。p_array_t 的类型定义是“指向一个包含四个整数的数组的指针”。如果我们的声明不正确,程序将在“函数”的定义处停止工作。

第 2 部分:目标是编写一个函数,该函数使用提供的数组,并返回指向整数函数指针数组的指针。

为此,我们将输入两个值,执行一个比较它们的函数,然后使用函数指针获取较大值的内存位置并输出结果。通过使用函数指针在不同时间提供不同函数的地址,函数变得更加灵活和抽象。因此,通过提供一种简单的方法来根据运行时信息选择要执行的函数,函数指针可以用来简化代码。

大函数 () 的图示

应用程序调用 big() 函数,并通过引用接收两个整数值。它比较这两个值并返回较大数字的内存地址。Big() 的整数返回值可以是零或非零数字。

例如,

分析:比较我们拥有的两个整数值后,指针将返回具有最大值的内存位置。

可以使用的方法

  • 考虑整数指针 int *c。
  • 应初始化这两个整数变量。
  • 我们将输入这两个值。
  • 比较提供的两个值。
  • 指针 *c 最终返回较大值的地址。

算法

C++ 代码

输出

运行上述代码将得到如下所示的输出。

The bigger value is 9