c - 初始化结构指针

标签 c struct initialization

typedef struct
{
  char *s;
  char d;
}EXE;
EXE  *p;

对于上面的struct,如何用指针初始化结构体?我知道对于非指针我们执行 EXE a[] = { {"abc",1}, {"def",2} }; 。同样,分配内存后是否可以使用指针?像 p[] = { {"abc",1},.. 等等 。基本上我想动态初始化。谢谢。

最佳答案

我们可以用指针初始化结构如下

example:
 int i;
 char e[5]="abcd";
 EXE *p=malloc(sizeof(*p));
 for(i = 0;i < 5;i++)
   *(p+i)=(EXE){e,i+48};

关于c - 初始化结构指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18054244/

相关文章:

c++ - 如何使用来自另一个结构的对象编写成员初始化列表

c++ - 打包的结构没有预期的大小

java - 如何在 Apache Flink 中正确初始化任务状态?

c - 为什么这段代码会打印垃圾值?

c - 如何在类型定义上将预定义值分配给结构成员?

c - 在mac桌面上读取c中的文件11db错误

c - 这个程序显示段错误,我认为发生了无限递归。你能建议我更正吗

c++ - 我在输入功能上做错了什么?

c - "Inappropriate file type or format"

c - 一些简单的逻辑问题并打印一些东西 C++ HouseWindowsLab