gpt4 book ai didi

c - 将结构体成员传递给 C 中的函数

转载 作者:行者123 更新时间:2023-11-30 19:47:20 25 4
gpt4 key购买 nike

我有一个结构

static struct menu_item menu[] = {
{1, "More memory"},
{2, "Less memory"},
{3, "Test"},
{4, "Auto-allocate"},
{5, "Test2"},
{6, "Exit"},
{0, ""}
};

我需要调用一个带有 2 个参数的函数(int, struct menu_item *)。我需要将第三个元素作为参数传递给函数。 int 应该是菜单的选择号,第二个参数应该是Test。我该怎么做?

最佳答案

如果我正确理解这个问题,这应该是一个简单的任务。但是,由于从零开始的索引,您需要将 2 传递给该函数。

typedef struct menu_item
{
int n;
const char* name;
} menu_item;

static struct menu_item menu[] = {
{1, "More memory"},
{2, "Less memory"},
{3, "Test"},
{4, "Auto-allocate"},
{5, "Test2"},
{6, "Exit"},
{0, ""}
};

#include <stdio.h>

void func(int n, struct menu_item* menu)
{
menu_item item = menu[n];
printf("%d %s", menu[n].n, menu[n].name);
}

int main()
{
func(2, menu);
}

关于c - 将结构体成员传递给 C 中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22171935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com