C++ 声明一个返回整数指针数组的指针的函数

C++ 声明一个返回整数指针数组的指针的函数

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

第1部分:创建一个考虑int *参数并生成指向四个整数指针列表的指针的函数。

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

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

function(int *)

2. 一个以int *参数为输入并返回指针的函数

(*function(int *))

3. 一个具有int*参数并返回指向4大小数组的指针的函数

(*function(int *))

[4]

4. 一个以int *参数为输入并返回指向四个整数指针数组的指针的函数

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

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

代码

#include

#define SIZE_OF_ARRAY (4)

typedef int *(*p_array_t)[SIZE_OF_ARRAY];

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

p_array_t function(int *arg)
{
static int *arr[SIZE_OF_ARRAY] = {NULL};

p_array_t pRet = &arr
return pRet;
}
int main()
{       
}

宏SIZE_OF_ARRAY用于以符号方式表示数组的大小。p_array_t的类型定义为“指向由四个整数组成的数组的指针”。如果我们的声明不正确,程序会在“函数”的定义处停止工作。

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

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

大函数(big function)的示例:

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

例如:

Input ? 8 14
Output ? Bigger value is 14
Input ?5 9
Output? Bigger value is 9

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

可能使用的方法:

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

算法:

Start
STEP 1-> Pass the argument to the function after creating it.
   Int *big(int &, int &)
END
STEP 2-: calling the main() function to initialise the pointer *c and enter and output two values.
   int p, q, *c
   call c= big(p,q)
   print c
END
STEP 3-> Pointer c returns the memory address of the larger value after comparing the two integer values given to it.
   Comparing
   If(a>b)
      return(&a)
   else
      return(&b)
   END
STOP

C++代码:

#include
int *big(int&, int&);
int main( ){
   int p, q, *c;
   c= big(3, 9);
   cout<<"The bigger value is"<<*c;
";
   return 0;
}
int *big(int&a, int&b){
   if(a>b)
      return(&a);
   else
      return(&b);
}

输出:

运行上述代码将导致下面所示的输出。

The bigger value is 9

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程