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));
将调用未定义的行为。
当涉及到内存集时,我遇到了一个段错误,我到处都看了不知道为什么?谁能告诉我哪里出了问题?
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));
将调用未定义的行为。