p=(linklist)malloc为什么不是linklist*?。。

强制转换不是加*吗。。。。。。。。。。。。。。

……

1.你这代码能编译通过,运行没问题吗?

2.如果1满足,那你点进去看linklist的定义,它也许是 typdef xxxx* linklist

以上

代码不全,无法判断。。。

typedef char ElemType;

(ElemType *)malloc(STACK_INIT_SIZE * sizeof(ElemType));

你看下和自己的区别

你说的没错,而linklist就是一个指针。

源代码估计是

typedef struct strll
{
    int a;
​​​​​​​}linklist*;

 

首先,是要定义一个结构类型,跟盖房子一样先明确个框架。然后才是具体搭建骨架,把它具现出来,有实际的分配内存动作等。
一个是纸上画饼,一个是真动手,两者配合缺一不可。