链表的类型是什么?
链表的节点定义为:
typedef struct Lnode{
int data;
struct Lnode *next;
}LinkList;
我现在创建一个包含5个节点的链表,该用什么类型来表示这个链表呢?如果用头结点的话,那该怎么区分它是头结点还是代表这个链表呢?
上述问题可以类比于:
对于一个数组int a[5]; int*b=a;
虽然a和b的数值相同,但是含义并不同,利用sizeof求值结果也不相同
[解决办法]
创建链表的时候 链表参数最好是用指针 头指针可以访问整个链表 sizeof一下判断出来这个链表所占字节数是不可能的 除非你记录了链表的长度 别看字符串数组之类的也是传一个指针 人家那个的地址空间是连续的 而链表的空间并不连续