码迷,mamicode.com
首页 > 其他好文 > 详细

结构体访问成员变量什么时候该用“->”或者是"."呢?的困惑

时间:2017-07-30 15:47:48      阅读:191      评论:0      收藏:0      [点我收藏+]

标签:lis   通过   lin   煎蛋   类型   sizeof   mem   str   它的   

煎蛋栗子:

typedef struct Node{
int data;
struct Node *next;
}LinkList;

LinkList *p=(LinkList *)malloc(sizeof(LinkList));

在这里,变量p是【LinkList *】类型的【指针变量
它的值是指向某一个【结点】的【地址

而【(*p)】表示的则是【结点变量】,它的值指向的是一个【结点
p是指针,(*p)是结点变量。
我们要访问结构体内的成员data

通过指针变量访问:【p】->data
通过结点变量访问:【(*p)】.data

如果你不厌其烦地写【p.data】

系统也会不厌其烦地给你提示error: request for member ‘next‘ in ‘p‘, which is of pointer type ‘LinkList* {aka node*}‘ (maybe you meant to use ‘->‘ ?)

结构体访问成员变量什么时候该用“->”或者是"."呢?的困惑

标签:lis   通过   lin   煎蛋   类型   sizeof   mem   str   它的   

原文地址:http://www.cnblogs.com/AKsnoopy/p/7259084.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!