struct 的 c 指针在执行时导致段错误

c pointer for struct causes segment fault while doing

当涉及到内存集时,我遇到了一个段错误,我到处都看了不知道为什么?谁能告诉我哪里出了问题?

typedef struct Ircsend1_struct{
  char type;
  char name[32];
}ircsend1_struct;

ircsend1_struct *ircpack;

char *pBuffer;
ircpack = (ircsend1_struct *)pBuffer;
memset(ircpack,0x00,sizeof(ircsend1_struct));

因为你的指针没有初始化,也许你的意思是

ircsend1_struct irpack;
char *pBuffer = &irpack;

memset(pBuffer, 0, sizeof(ircsend1_struct));

作业

ircpack = (ircsend1_struct *)pBuffer;  

错了。 pBuffer 未初始化。 ircpack 指向未知位置。因此,语句

memset(ircpack,0x00,sizeof(ircsend1_struct));  

将调用未定义的行为。