c - 在 C 中自动生成结构成员名称

标签 c struct structure

我最近接触了struct,在试验中,我遇到了一个我似乎找不到解决方案的问题。

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

结构

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

原型(prototype)

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;
}

主要

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 但我想知道是否有实现此目的的方法。

在此先感谢您的帮助:)

最佳答案

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

关于c - 在 C 中自动生成结构成员名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21666261/

相关文章:

c++ - 用结构和数组切换结构?

C:简单的程序编译正常但在某一点崩溃

javascript - 悬停选项,或 JavaScript

C# 解决方案结构和项目命名

c - 尝试从文件读入二维数组时出现段错误

c - 在Linux中使用fallocate()快速预分配大文件

c - pthread 函数参数应该分配在栈上还是堆上?

比较 C 中数组的内容

iphone - 如何正确定义结构

C和动态结构元素访问