C/C++ 点和箭头操作符的区别

程序员通勤双肩包,下单送全年 CSDN 会员 防泼水面料电脑包,保护笔记本电脑,背负轻便,下单再赠 Coding Plan,看技术干货、查文档、下载源码,一站式搞定学习需求 阅读详情

原文地址:http://blog.sina.com.cn/s/blog_4a3da4ec010009gq.html

在c++中I如果是对象,就可以通过"."来调用I中的成员变量。

如果I是指针的话,就不能通过"."来调用,而只能使用"->"来调用。
在C语言中不存在对象的概念。
这种情况的出现是因为使用了结构,例如
struct CandyBar{
float weight;
int calorie;
};
在程序中
CandyBar snack={
2.3,
350
};
我们就可以用snack.weight来取得结构中的值。
这时是不能使用"->"来调用的,"->"符号指针对指针来说的。
如下情况可以使用"->"
CandyBar* bird;
bird->weight=2.33;
此时bird为一个CandyBar结构的地址指针。所以可以使用"->",而此时就不能使用
"."来操作。因为"." "相当于"对象的成员调用。
GCCVC在定义结构时的区别及编程示例 综上所述,GCCVC在定义结构时的区别在于访问结构成员的操作符不同。开发人员在编写跨平台的代码时应该注意这些差异,并根据所使用的编译器选择正确的操作符来访问结构成员。在上面的示例中,我们定义了一个指向Person结构的指针person,并使用箭头操作符访问结构中的成员。需要注意的是,在使用箭头操作符之前,我们需要先使用malloc函数为结构体分配内存空间,并在使用完后使用free函数释放内存。希望本文能对你理解GCCVC在定义结构时的区别有所帮助,并通过提供的编程示例加深你对这一概念的理解。 阅读详情

相关推荐

C++操作符箭头操作符区别

此时返回的是类B的对象,所以调用类B的operator->()成员函数,B的operator->()返回的是指针,所以现在可以使用内置箭头操作符了。对B的operator->()返回的指针进行解引用,然后调用解引用后的对象的成员函数action,此时调用的就是类A的action()。C++中对于类来说,对于其中的成员,用操作符.来获得,而对于一个指向类对象的指针来说,则用箭头操作符->调用该指针所指向对象的成员。重载箭头操作符必须返回指向类类型的指针,或者返回定义了自己的箭头操作符的类类型对象。

程序猿老樊的博客 132

c++操作符.箭头操作符(->)的区别

这二个的区别其实很简单,首先,这二个操作符都是为了获取类类型对象的成员,但是,有区别操作符的左操作数是对象,而箭头操作符是指针。  看下面的一个例子:  Sales_item是一个类名,same_isbn()是这个类的成员函数;  Sales_item item();  Sales_item *sp=&item; (*sp).same_isbn(); 如果你在写的时候漏掉了这个指针

daydayup_666的博客 1599

C++】指针的运算与箭头运算(->)的奥秘与应用

运算符(.)用于直接访问结构体或类对象的成员变量或成员函数。当你拥有一个结构体或类的实例时,可以通过.运算符来读取或修改其成员变量的值,或者调用其成员函数。int age;} Person;// 调用成员函数return 0;在这个例子中,alice 是一个 Person 类型的实例。我们使用 . 运算符来设置 alice 的 age name 成员,并调用其 introduce 成员函数。箭头运算符(->)是专门为通过指针访问结构体或类成员而设计的。

kewaqi618的博客 1765

. 箭头 -> 的区别

clearhlj的博客 3624

指针的运算箭头运算(->)

指针的运算箭头运算(->) 突然发现指针的两个运算符我是不太清楚的,就翻书搞了下:其实运算箭头运算都是访问指针所指向的 结构体或者类对象 的成员是用的操作符。比如: struct song { int a; } 有这样一个结构体,定义: song s; s.a=1; song *p; p=&s; 那么要访问指针p所指向的内存: (*)p.  p->a

hyqsong的专栏 7556

结构体指针运算符(.)箭头运算符(->)的区别

取出结构体指针每个成员的方法 很多时候用 运算符(.) 与 箭头运算符(->) 不知道具体差异是什么,今天测试程序总结 typedef int (*pFunc)(int, int); struct cal_t { int a; int b; pFunc type; }; struct cal_t myCal; myCal.a = 12; myCal.b = 4; myCal.ty...

Simple-Beauty的博客 3555

(转载)C/C++ 箭头操作符区别

首先介绍一下C++中的结构。对于一个结构来说, struct MyStruct {  int member_a;  }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用 s.member_a = 1; 如果采用指针方法访问,比如MyStruct * ps,那么同样的访问就必须使用如下形式: (*ps).member_a =

swl77wade的专栏 468

C语言:存取结构体成员的运算符(.)箭头运算符(->)的区别(转)

相同:两个都是二元操作符,其右操作符是成员的名称。 不同操作符左边的操作数是一个“结果为结构”的表达式;                箭头操作符左边的操作数是一个指向结构的指针。 例如: struct AAA { int a; char b; }; struct AAA q; 访问成员就用:q.a; struct AAA *

Tao's Tao 1042

在c语言-.

首先功能是不一样的,结构体用,结构体指针用箭头

Cfx1998的博客 277

C/C++语言运算符(.箭头运算符(->)的区别(代码展示)

之前有学过C#或VB语言的小伙伴对运算符(.)应该不陌生,即当我们定义了一个结构体时,想要访问结构体里面的成员,我们只要在结构体名称后面加上一个运算符(.),系统则自动将结构体里面的内容罗列出来,供我们选择引用了。那箭头运算符时干什么用的呢?下面我们通过C++代码展示来比较一下两者的区别。 ①、运算符 创建一个student结构体,如果我们想要对结构体里面成员的属性值进行更改...

Elsa~的博客 3万+

c++箭头区别

c++箭头区别

weixin_43186817的博客 2674

C 语言结构体之运算符( . )箭头运算符( -> )的区别

很多时候,在对结构体进行相应的编码时,时而发现是用运算符( . ),时而是用箭头运算符( -> );那么这两者之间的使用有什么区别么? 相同:两者都是二元操作符,而且右边的操作符都是成员的名称。 不同运算符( . )的左边操作数是一个结果为结构的表达式; 箭头运算符( -> )的左边的操作数是一个指向结构体的指针。 例如: typedef str

ShenYuanLuo的博客 5万+

c++ 箭头符号怎么打_关于C/C++中的操作符箭头操作符

Ps:话说以前竟然一直没有关注到这个问题啊。不应该啊。今天查了资料,加上自己写code的体会,说下一下,作为记录吧。先概括一下:操作符.”用来引用普通对象。箭头操作符->”用来引用指针对象。举例子说明一下:比如,我有一个对象darkray。那么我可以通过”.”来调用darkray类中中的成员变量。但是如果darkray是指针的话,就不能通过”.”来调用,而只能使用”->”来调...

weixin_39542889的博客 852

c/c++.箭头(——》)的区别以及用法

.->运算符 .)运算符 ->(箭头)运算符用于引用类、结构共用体的成员: 运算符应用于实际的对象。箭头运算符与一个指向对象的指针一起使用。 例如,假设有下面的结构: struct Employee { char first_name[16]; int age; } emp; .运算符 下面的代码把值 zara 赋给对象 emp 的 first_name 成员: strcpy(emp.first_name, "zara"); ->箭头运算...

qq_34729246的博客 5546

箭头操作符

C++语言为包含操作符解引用操作符的表达式提供了一个同义词:箭头操作符(->).操作符用于获取类类型对象的成员:item1.same_isbn(item2); //run the same_isbn member of item1如果有一个指向Sales_item对象的指针(或迭代器),则在使用操作符前,需对该指针(或迭代器)进行解引用:Sales_item *sp=&item

水镜の庐 2023

C++中原箭头区别

首先介绍一下C++中的结构。对于一个结构: struct MyStruct {   int member_a; }; 如果有个变量MyStruct s,那么使用其中的成员元素时可以用: s.member_a = 1; 如果采用指针方法访问,比如MyStruct * ps,那么同样的访问就必须使用如下形式: (*ps).member_a = 1; 或者 ps->member_a = 1;...

weixin_43902067的博客 208

C++ 指针对象成员访问的区别:`.` 与 `->` 的使用指南

在学习 C++ 时,常常会遇到访问对象成员的两种符号:`.` `->`。这两个符号看似简单,但它们的正确使用却需要理解指针对象的本质差异。对于 C/C++ 小白来说,这篇文章将详细解释它们的区别,帮助你在编程时少踩坑。

XuanRan的博客 4313

C语言结构体箭头区别,c/c++中结构体引用中箭头->.区别

首先介绍一下C++中的结构。对于一个结构来说,struct MyStruct{int member_a;};如果有个变量MyStruct s,那么使用其中的成员元素时可以用s.member_a = 1;如果采用指针方法访问,比如MyStruct * ps,那么同样的访问就必须使用如下形式:(*ps).member_a = 1;或者ps->member_a = 1;c++中当定义类对象是指针对...

weixin_39597868的博客 2941

关于C/C++中的操作符箭头操作符

操作符.”用来引用普通对象。 箭头操作符->”用来引用指针对象。 举例子说明一下: 比如,我有一个对象darkray。那么我可以通过”.”来调用darkray类中中的成员变量。 但是如果darkray是指针的话,就不能通过”.”来调用,而只能使用”->”来调用了。 放到C语言中不存在对象的概念的。 操作符用得到的地方,大多在结构,比如: struct darkray{ f

humanof的专栏 721
上一篇: 编程语言:glade程序设计简介
下一篇: GTK编程——linux下GTK开发环境建立(ubuntu)
July_Yang
博客等级 码龄15年 46粉丝 15原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值