c - 如果该结构作为数组存在,是否可以仅从该结构发送一个变量?

标签 c struct

如果这看起来很简单,我深表歉意,我仍在学习并且我是 C 语言的新手。

我有这个作为我的结构:

struct Game{
   char id;
   char name[50];
   char genre[20];
   char platform[15];
   char company[30];
   float price;
   int quantity = 10; 
};

并将其声明为结构数组:

struct Game gList[30];

我有一个函数,我传递所有“gList”来搜索 gList[i].name 变量中的值。

所以我的问题是,是否可以仅将结构的 gList[i].name 部分作为参数发送到函数?(即仅发送所有 30 个 name 值).

最佳答案

没有。

但是您可以创建一个指向 name 字段的指针数组并将其传递给函数:

char* ptr[30];
for(int i = 0; i < 30; i++)
    ptr[i] = gList[i].name;

func(ptr);

关于c - 如果该结构作为数组存在,是否可以仅从该结构发送一个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55437928/

相关文章:

c++ - Waf 生成 Visual Studio 项目?

c++ - 用另一个函数封装printf和vfprintf时造成这种差异的原因是什么?

c - 在 C 中使用 gets(str)

ios - 我如何向量化这个 for 循环?

c - 将结构插入动态数组

C While 循环显示 Max 和 Min 并以 0 结尾,但我不想考虑 0

methods - 为什么我必须在 Rust 的结构之外声明方法?

c++ - 在 'set' 中包含一个 'struct'

c - 如何在struct中使用malloc或new?

c++ - 等于指针值正在改变指针引用