C++指针问题,请问如何定义一个返回值为结构体指针数组的函数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++指针问题,请问如何定义一个返回值为结构体指针数组的函数?相关的知识,希望对你有一定的参考价值。

也就是说函数返回值为指向结构体指针数组的指针

#include<stdio.h>
struct s


;
//ptarrpt是指向具有2个指针元素的数组的指针类型
typedef struct s* (*ptarrpt)[2];
ptarrpt f1()

static struct s* ptarr[2];
return &ptarr;

struct s* (*f2())[2]

static struct s* ptarr[2];
return &ptarr;

int main()


return 0;
参考技术A 正确的写法是:
struct node....*p;
struct node *a()...;return p;
这是完全合法的。

如何将不同类型的结构体作为一个函数的参数?

定义一个函数,需要将不同类型的结构体作为参数传递进去,请问怎样实现?这个参数定义为什么类型的呢?(可以用来接收不同的结构体)

可以利用函数的重载。比如说定义了两个结构体A和B,函数func()为要接受不同参数的函数,参数为c,可以写两个函数func(A &c).... func(B &c)..... 这样你传A类型的参数,就会调用前面的那个函数,你传B类型的参数,就会调用后面的那个函数。虽然写了两个函数,但却相当于定义了一个可接受不同类型参数的函数,不知符合你的要求不。 参考技术A 用结构体指针,分别用指针指向不同结构体的地址,然后将指针作为形参传进去 参考技术B 这样做的目的何在? viod *

以上是关于C++指针问题,请问如何定义一个返回值为结构体指针数组的函数?的主要内容,如果未能解决你的问题,请参考以下文章

C语言返回结构体函数返回值应定义哪种类型?

C语言结构体指针定义问题 - C / C++ -

C++的一个函数的返回值可以是结构体吗?

c语言 结构体的指针作为函数参数问题

C++结构体指针数组如何分配空间,用new

C#如何调用C++的DLL的结构体数组指针