我有一个结构
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
。我该怎么做?
答案 0 :(得分:0)
如果我正确理解了这个问题,这应该是一个直截了当的任务。但是,由于基于零的索引,您需要将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);
}