【问题标题】:Can you have an array in a struct?你可以在结构中有一个数组吗?
【发布时间】:2020-02-13 07:22:21
【问题描述】:

所以我正在尝试制作一个代码,让用户注册不同的药物。每个 medicine 都将是一个名为 medecine 的结构。用户可以输入最多20个字母的药物名称,药物的不同尺寸,以及每种尺寸的数量。我在想这样的 V。当我后来想使用函数将药物输入存储在一个可以容纳 1000 种药物的大数组中时,这可行吗?

struct medecine
{ 
 char name[WORDLENGTH];
 int size[10];
 int BalanceOfeachsize[10];
}; 

【问题讨论】:

  • 当您尝试使用它编译代码时发生了什么?
  • 简短回答:是的,您可以像这样定义和使用struct
  • 这个词是“药”。

标签: c arrays struct


【解决方案1】:

是的,当然可以。

struct medecine
{ 
 char name[WORDLENGTH];
 int nbofsizes;           //  this is missing (see explanation below)
 int size[10];
 int BalanceOfeachsize[10];
}; 

struct medecine pharmacy[1000]:   // pharmacy is an array of 1000 medecines

但是您很可能需要一个结构成员,即尺寸的数量,也许有些药物只有 3 种尺寸,其他的只有 2 种等等。

【讨论】:

  • 用户自己输入他们应该输入的尺寸以及该尺寸的平衡。因此,如果我以后想将每种药物限制为仅 10 种不同的大小,我可以使用 nbofsizes 整数并对其进行限制吗?还有为什么是第二个结构?我不能在 int main 中添加一个数组 [1000] 并将所有结构存储在那里吗?例如药物 Medregister[1000]
  • @mrarray 是的,你当然可以这样做。一般来说,你可以用 C 做很多事情。从你的问题来看,我想你从来没有打开过你的初学者的 C 教科书。你绝对应该这样做。
  • 没有,只是老师讲课的powerpoint,但很难理解
  • 那么是时候入手一份了。
  • 你有Skype吗
猜你喜欢
  • 2010-09-09
  • 2023-03-25
  • 1970-01-01
  • 2019-04-05
  • 1970-01-01
  • 1970-01-01
  • 2021-11-04
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多