内存管理和动态分配内存

请问ElemType p = NULL和ElemType *p = (ElemType)mallco(sizeof(ElemType))有区别吗?

一个是在栈里面分配一个 elemtype 内存单元,数据为NULL,一个是在堆里面分配elemtype大小的内存单元,返回这段内存的头指针。在栈里面分配的,不用自己回收,在堆里面分配的必须自己回收。

我觉得有区别,第一个的指针是一个类型为ElemType的空指针,不指向任何内存地址,第二个的是申请了一块内存,该ElemType类型的指针指向这块内存的首地址。总得说两个不同,这两个指针变量的地址&ElemType不同,两个指针的值(指向的内存首地址)ElemType也不同。