最近在学数据结构
有如下程序:
typedef struct Node
{
DataType data;
struct Node *next;
}ListNode, *LinkList;
*/
void InitList(LinkList *head)
{
if((*head = (LinkList)malloc(sizeof(ListNode))) == NULL)
{
exit(-1);
}
(*head)->next = NULL;
}
int ListEmpty(LinkList head)
{
if(head->data == NULL)
return 1;
else
return 0;
}
这里的 *head 怎么理解啊?为什么有时候加 * 有时候没有加 * 请高手指点啊
关于数据结构单链表 指针 *星号的理解
答案:2 悬赏:40 手机版
解决时间 2021-03-24 10:08
- 提问者网友:黑米和小志
- 2021-03-23 14:49
最佳答案
- 五星知识达人网友:一把行者刀
- 2021-03-23 16:06
typedef struct Node
{
DataType data;
struct Node *next;
}ListNode, *LinkList;
1 .LinkList :是struct Node的结构体指针类型
如: LinkList a 等于 struct Node * a;
2. LinkList *head 等于 struct Node ** head;
3. if((*head = (LinkList)malloc(sizeof(ListNode))) == NULL)
malloc:返回指针类型,强制转换为指定数据类型
4.head 是 LinkList * 类型(等于 struct Node ** 类型),在使用时
*head 就代表 struct Node * (由指向指针的指针,成为了指针,可以方便下面的后续操作)
{
DataType data;
struct Node *next;
}ListNode, *LinkList;
1 .LinkList :是struct Node的结构体指针类型
如: LinkList a 等于 struct Node * a;
2. LinkList *head 等于 struct Node ** head;
3. if((*head = (LinkList)malloc(sizeof(ListNode))) == NULL)
malloc:返回指针类型,强制转换为指定数据类型
4.head 是 LinkList * 类型(等于 struct Node ** 类型),在使用时
*head 就代表 struct Node * (由指向指针的指针,成为了指针,可以方便下面的后续操作)
全部回答
- 1楼网友:像个废品
- 2021-03-23 16:37
搜一下:关于数据结构单链表 指针 *星号的理解
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯