从函数返回嵌套结构
Returning a nested structure from a function
我正在编写我想要 return 嵌套结构的代码。我想知道该怎么做。
static int ORDERID = 0;
struct item
{
struct data
{
int orderid;
char content[10][20];
} details;
struct node *next;
};
typedef struct item product;
所以新产品的插入包含两个部分:
详细结构
指向下一个产品的指针
在details
结构中我必须有不同类型的产品描述,比如:
鞋子及其 orderid,以及字符串数组中的其他详细信息 (char content[10][10]
)
衬衫及其 orderid,以及字符串数组中的其他详细信息 (char content[10][10]
)
因此,为了插入新产品,我需要一个函数来 return 一个 details structure
即产品的嵌套结构。
怎么做?
其实你可以在struct item
外定义struct data
,然后用struct data
在struct item
内定义一个变量details
。也就是说,
struct data {
int orderid;
char content[10][20];
};
struct item {
struct data details;
struct item *next;
}
然后,您可以从函数中自由 return struct data
对象。
编辑:
如果你想创建一个可以 return 一个 struct data
对象的函数,你可以执行以下操作:-
struct data * function_data() {
struct data *someData;
someData->orderid = 16;
someData->content[0] = "Shoes";
return someData;
}
我希望这能进一步提高答案的质量。
您可以使用 struct data
作为函数的 return 类型
我正在编写我想要 return 嵌套结构的代码。我想知道该怎么做。
static int ORDERID = 0;
struct item
{
struct data
{
int orderid;
char content[10][20];
} details;
struct node *next;
};
typedef struct item product;
所以新产品的插入包含两个部分:
详细结构
指向下一个产品的指针
在details
结构中我必须有不同类型的产品描述,比如:
鞋子及其 orderid,以及字符串数组中的其他详细信息 (
char content[10][10]
)衬衫及其 orderid,以及字符串数组中的其他详细信息 (
char content[10][10]
)
因此,为了插入新产品,我需要一个函数来 return 一个 details structure
即产品的嵌套结构。
怎么做?
其实你可以在struct item
外定义struct data
,然后用struct data
在struct item
内定义一个变量details
。也就是说,
struct data {
int orderid;
char content[10][20];
};
struct item {
struct data details;
struct item *next;
}
然后,您可以从函数中自由 return struct data
对象。
编辑:
如果你想创建一个可以 return 一个 struct data
对象的函数,你可以执行以下操作:-
struct data * function_data() {
struct data *someData;
someData->orderid = 16;
someData->content[0] = "Shoes";
return someData;
}
我希望这能进一步提高答案的质量。
您可以使用 struct data
作为函数的 return 类型