gpt4 book ai didi

c - 嗨,我有一个 C 编程问题。我想知道两者之间的区别以及一个比另一个有用的地方?

转载 作者:太空宇宙 更新时间:2023-11-04 00:56:02 26 4
gpt4 key购买 nike

我有一个 C 编程问题。

我想知道两者之间的区别以及一个比另一个有用的地方?

假设我有一个名为 employee 的结构,如下所示:

struct emp{
char first_name[10];
char last_name[10];
char key[10];
};

现在我要存储员工记录表,那么应该用什么方法:

  1. struct emp e1[100];//或者
  2. struct emp * e1[100];

我知道这两者并不相同,但想知道一个用例,在该用例中第二个声明会很有趣并且使用起来更有优势。

谁能澄清一下?

最佳答案

第二个是指向 struct emp 的指针数组,这意味着您必须在堆上分配每个元素。优点是你只需要为你实际拥有的 emp 数量分配足够的内存,但缺点是你必须管理每个 emp 的生命周期。

在第一种形式中,100 emps 存储在数组本身中,因此不需要单独分配。但是这个数组占用了足够的空间来容纳所有 100 个 emps,即使你只有 10 个 emps。

关于c - 嗨,我有一个 C 编程问题。我想知道两者之间的区别以及一个比另一个有用的地方?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2809737/

26 4 0