C中自动生成结构成员名称

时间:2014-02-09 22:56:37

标签: c struct structure

我最近被介绍到 struct ,在实验中,我遇到了一个我似乎无法找到解决方案的问题。

我想创建一个包含多个成员的结构,但我希望自动生成每个成员的名称,以避免手动执行此操作的繁琐过程。到目前为止,我有我的结构和功能,我想用它来创建一个成员。

STRUCT

struct Customers
{
    char name[30];
    int age;
}

原型

void newCustomer(Customers *Customer);

功能

void newCustomer(Customers *Customer)
{   
    char gender;
    int age;

    scanf_s("%c", 1, &gender);
    scanf_s("%d", &age);

    Customer->gender = gender;
    Customer->age = age;
}

MAIN

int main()
{
    int noOfCustomers;
    int i = 0;

    printf("How many customers will you be entering? : ");
    scanf_s("%d", &noOfCustomers);

    for(i = 0; i < noOfCustomers; i++)
    {
        Customers i;
        newCustomer(&i);
    }
    return 0;
}

基本上我想做这样的事情......每个成员都会自动用ID或数字表示。我确实理解上面的例子是行不通的,因为 i 在循环中被本地声明为一个结构成员,而不是一个int,但我想知道是否有一种实现这一目的的方法。 / p>

提前感谢您的任何帮助:)

1 个答案:

答案 0 :(得分:1)

您可以使用静态整数变量,调用itoa将其转换为字符串,然后递增。