xyq004451 2014-02-25 08:06 采纳率: 50%
浏览 3079
已采纳

结构体类型的指针初始化和赋值问题

编程的时候我定义了一个结构体,结构体有几个变量的值我必须要赋初值,因为循环得用。
结构体这样定义:
typedef struct
{
BYTE stream_Type;
unsigned short PID;
unsigned short InfoDescrip;
}M_PICE;
用的时候:
M_PICE* p_Mpice = NULL;
p_Mpice->InfoDescrip = 0;
运行到上一句就报错
Unhandled exception in DVB.exe:0xC0000005:Access Violation

  • 写回答

1条回答 默认 最新

  • 滴水冰冻 2014-02-26 06:17
    关注

    typedef struct pice
    {
    int stream_Type;
    unsigned short PID;
    unsigned short InfoDescrip;
    }M_PICE;
    M_PICE* pMypice;
    int main(){
    pMypice = (M_PICE*)malloc(sizeof(M_PICE));//此处分配内存空间,否则怎么存数据、
    pMypice->InfoDescrip = 0;
    printf("%d\n",pMypice->InfoDescrip);

    }
    赶紧采纳。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?