C语言中,用"->"和用"."的区别
4个回答
展开全部
在“结构”一单元中出现的->运算符成为“右箭头选择”,在使用中可以用new_node->value
=
10;来代替(*new_code).value
=
10;
也就是说在结构中,运算符->是运算符*和运算符.的结合,在上述语句中,他先对new_node间接寻址以定位所指向的结构,然后再选择结构的成员value。
=
10;来代替(*new_code).value
=
10;
也就是说在结构中,运算符->是运算符*和运算符.的结合,在上述语句中,他先对new_node间接寻址以定位所指向的结构,然后再选择结构的成员value。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
c语言中绝对有“->”和“.”!
这两个运算符都是用来访问结构体的。比如有结构体
struct
student
{
int
math;
int
english;
};
并且有两个变量
struct
student
zhangsan;
struct
student
*p;
p=&zhangsan;
你要留意zhangsan是结构体的名字,p是指向这个结构体的指针。
那么访问结构体的两个变量时就只能用
zhangsan.math=60;
zhangsan.english=70;
p->math=80;
p->english=90;
即结构体的名字用点,相当于“的”,某个结构体的某个分量。
指向结构体的指针就用“->”,相当于指针指向的结构体的分量。(你看那箭头,就好比指针)
另外,在C语言中还有“位段”的概念,访问某个bit也用“.”,也可以理解成一种结构体。
这两个运算符都是用来访问结构体的。比如有结构体
struct
student
{
int
math;
int
english;
};
并且有两个变量
struct
student
zhangsan;
struct
student
*p;
p=&zhangsan;
你要留意zhangsan是结构体的名字,p是指向这个结构体的指针。
那么访问结构体的两个变量时就只能用
zhangsan.math=60;
zhangsan.english=70;
p->math=80;
p->english=90;
即结构体的名字用点,相当于“的”,某个结构体的某个分量。
指向结构体的指针就用“->”,相当于指针指向的结构体的分量。(你看那箭头,就好比指针)
另外,在C语言中还有“位段”的概念,访问某个bit也用“.”,也可以理解成一种结构体。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
两个运算符号的优先级相同,但是"->"用于指向结构成员,它的左边应为指向该结构类型的指针(结构指针),而"."的左边应为该结构类型的变量(结构变量)。举个例子,这个结构有个结构指针structpoint,有个该结构类型的变量student,其中structpoint指向student,即*structpoint=student,那么structpoint->name=(*structpoint).name=student.name
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
唯一的区别是->前面放的是指针,而.前面跟的是结构体变量,如已定义了一个结构体struct
student,里面有一个int
a;然后有一个结构体变量struct
student
stu及结构体变量指针struct
student
*p;且有p=&stu,那么p->a和stu.a表示同一个意思
student,里面有一个int
a;然后有一个结构体变量struct
student
stu及结构体变量指针struct
student
*p;且有p=&stu,那么p->a和stu.a表示同一个意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询