C 语言中,「.」与「->」有什么区别

区别有:1、指向不同;2、读法不同;3、作用的不同。一般情况下用“.”,只需要声明一百个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域了。因为自动分配了结构体的内存。如同 int a;一样。

C 语言中,「.」与「->」有什么区别-Worktile社区

1、指向不同

一般情况下用“.”,只需要声明一百个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域了。因为自动分配了结构体的内存。如同 int a;一样。

而用“->”,则要声明一个结构体的指针,度还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。

否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引回用自然出错了,因为没有结构体,自然没有结构体的域了。

2、读法不同

(*a).b 等价于 a->b。”.”一般情况下读作”的”。

“->”一般读作”指向的结构体的”。

3、作用的不同

在“结构”一单元中出现的->运算符成为“右箭头选择”,在使用中可以用new_node->value = 10;来代替(*new_code).value = 10;

也就是说在结构中答,运算符->是运算符*和运算符.的结合,在上述语句中,他先对new_node间接寻址以定位所指向的结构,然后再选择结构的成员value。

延伸阅读:

什么是C语言?

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

当前阶段,在编程领域中,C语言的运用非常之多,它兼顾了高级语言和汇编语言的优点,相较于其它编程语言具有较大优势。计算机系统设计以及应用程序编写是C语言应用的两大领域。同时,C语言的普适较强,在许多计算机操作系统中都能够得到适用,且效率显著。

文章标题:C 语言中,「.」与「->」有什么区别,发布者:小编,转载请注明出处:https://worktile.com/kb/p/38174

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023年2月14日 下午8:16
下一篇 2023年2月14日 下午8:18

相关推荐

  • 敏捷开发框架有哪些

    敏捷开发框架有:1、Scrum 角色;2、Scrum 工件;3、Scrum 仪式。其中,Scrum 角色是指,敏捷开发(Scrum)团队需要三个特定的角色:产品负责人(Product Ower)、ScrumMaster 和 Scrum 团队。 一、Scrum 角色 敏捷开发(Scrum)团队需要三个…

    2023年4月21日
    1100
  • 常见的管理信息系统有哪些

    常见的管理信息系统有:1、OA;2、ERP;3、CRM;4、HR;5、EAM;6、PDM;7、SCM。其中,OA是指,OA的中文意思是办公自动化,是英文Office Automation的缩写,常常被称为OA办公系统或OA办公软件。 一、OA OA的中文意思是办公自动化,是英文Office Auto…

    2023年4月19日
    10200
  • maven中cmd有哪些命令

    maven中cmd的命令:1、mvn archetype:generate;2、mvn compile;3、mvn deploy;4、mvn test-compile;5、mvn test;6、mvn site;7、mvn clean;8、mvn package;9、mvn install等。mvn…

    2023年1月13日
    13900
  • 项目部管理有哪些部门职责

    项目部管理的部门职责分为:一、项目策划部门;二、工程设计部门;三、采购管理部门;四、施工管理部门;五、质量安全管理部门。项目策划部门是项目部管理中最为重要的部门之一。它要确保项目在预算、时间和质量等方面能够达到预期目标。 一、项目策划部门 项目策划部门是项目部管理中最为重要的部门之一。它负责对项目进…

    2023年4月30日
    1400
  • Python中的pack()是什么意思

    在Python中,pack()方法是用于将数据转换为二进制数据流的函数。它是Python的一个内置函数,可以用于将字符串、整数、浮点数等数据类型转换为二进制数据流。在本文中,我们将详细讲解pack()方法的用法及其在Python编程中的应用。 在Python中,pack()方法是用于将数据转换为二进…

    2023年2月28日
    54400
  • 作为产品经理,如何给产品功能定优先级

    作为产品经理,给产品功能定优先级应从以下五个角度出发:1、需求的投入产出比;2、需求的紧急程度;3、需求与产品策略的契合度;4、需求之间的潜在联系;5、根据实际可调配的资源情况。其中,需求的投入产出包括价值和成本。 1、需求的投入产出比 一般情况下,判断产品需求优先级的主要依据是需求的投入产出比(R…

    2023年1月2日
    5400
  • 为什么只有 C++ 存在友元函数

    并不是只有 C++ 存在友元函数。在其它编程语言中,也存在类似的特性,例如 Java 中的内部类、Python 中的嵌套函数、Ruby 中的单件方法等等。C++ 中的友元函数之所以比其它编程语言中的类似特性更加强大,是因为它可以访问其它类的静态成员和全局变量。 在 C++ 中,友元函数(friend…

    2023年2月28日
    3000
  • Fragment add与replace的区别是什么

    Fragment add与replace的区别是什么:1、添加方式不同;2、Fragment生命周期不同;3、界面状态的保存与恢复不同。在Android开发中,Fragment是一种轻量级的Activity,可以作为Activity中的一部分来实现灵活的UI设计和交互。 在Android开发中,Fr…

    2023年5月16日
    1200
  • 测试用例如何评审

    测试用例通过以下三种方法评审:1、完全评审;2、有选择性的评审;3、指标评审法。完全评审是指对整个项目中的所有测试用例进行评审。这种评审方式的优点是可以对所有的用例都进行评审,进而完善测试用例质量;但同样缺点也很明显,完全评审需要更多的时间和精力。 1、完全评审 完全评审是指对整个项目中的所有测试用…

    2022年12月27日
    7900
  • 如何用jira做项目管理

    用jira做项目管理包括以下几点:1、需求管理;2、Sprint Planning;3、Sprint阶段;4、Sprint结束;5、发布上线。需求管理是由产品经理PO提出确定需要做的需求,然后在JIRA里自己的项目下,建立需求Issue,指派给PO。如果需求比较小,则建立需求的Issue类型选择St…

    2023年1月6日
    9100

发表回复

登录后才能评论
联系我们
站长微信
站长微信
分享本页
返回顶部