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

相关推荐

  • 钉钉 okr功能怎么用

    使用钉钉 okr功能的步骤:1、进入 OKR 界面;2、创建 Objective;3、创建 Key Results;4、制定计划;5、跟踪进度;6、完成目标。首先,打开钉钉应用,点击底部的“工作台”按钮,然后选择“目标管理”模块,进入 OKR 界面。 1、进入 OKR 界面 首先,打开钉钉应用,点击…

    2023年2月26日
    1.8K00
  • AI如何识别和处理图像数据

    摘要:在图像识别与处理领域,人工智能(AI)技术发挥着核心作用。它依托于特定算法,对图像数据进行识别、解析和处理。其核心观点包括:1、图像预处理、2、特征提取、3、模式识别、4、深度学习方法。图像预处理涉及去噪、增强及尺寸调整等环节,确保提取有效信息。特征提取则通过边缘检测、纹理分析等手段获取图像的…

    2023年11月24日
    66500
  • j-link 有哪些功能

    j-link的功能:1、作为仿真器使用;2、JLinkExe 可以为芯片下载bin文件并进行单步调试;3、JFlashSPIExe 通过SPI接口读写芯片的flash并烧写flash等。作为仿真器使用是指 j-link用来接收电脑的仿真命令然后转换成MCU的JTAG控制信号。 一、j-link的功能…

    2023年1月15日
    1.4K00
  • 什么样的项目适合敏捷开发

    敏捷开发适用于以下项目:一、需求频繁变化的项目;二、复杂度高的项目;三、需要快速交付的项目;四、需要紧密合作的项目。在传统的瀑布模型中,需求在项目开始前就被确定,并在后续开发中尽可能不做更改。 一、需求频繁变化的项目 在传统的瀑布模型中,需求在项目开始前就被确定,并在后续开发中尽可能不做更改。而在实…

    2023年4月16日
    61700
  • 土建项目部如何管理建筑

    土建项目部管理建筑的关键在于规划和组织、资源优化、质量监控、进度管理、安全监督。规划和组织工作是管理建筑项目成功的基石。有效的规划涉及明确项目目标、制定详尽的工作计划、并根据项目需求动态调整。组织则负责建立一支能够实现项目目标的团队,确保团队成员间的合作与沟通,以及角色和职责的明确分配。项目部必须确…

    2024年4月10日
    2600
  • 如何评估并优化研发项目的风险

    研发项目的风险评估与优化对于确保项目成功至关重要。1、确定风险评估框架是衡量潜在问题的基础。2、识别项目风险涉及系统地分析可能影响项目的不确定性因素。3、量化风险影响让项目团队具备了评估风险潜在影响的能力。4、风险优先排序帮助团队确定哪些风险需要首先处理。5、制定风险应对策略指引项目在遇到问题时如何…

    2023年11月30日
    43600
  • 低代码软件可以实现企业文件安全吗?

    在数字时代的今天,企业档案的安全变得比以往任何时候都更加重要。这些文件可能包含有关客户的敏感信息或必须始终保护的专有业务数据。但是,保护这些文件可能是一个复杂且耗时的过程,对于没有专门IT团队的公司来说尤其如此。这就是低代码平台可以提供帮助的地方。在本文中,我们将讨论如何使用低码平台来保护企业文件。

    2023年9月22日
    30900
  • 2g和3g的区别

    2g和3g的区别有:1、定位不同;2、无线空中数据速率的区别;3、应用的多样化的区别。2g网络是指第二代无线蜂窝电话通讯协议,能够进行窄带数据通讯。3g网络是第三代无线蜂窝电话通讯协议,在2G的基础上发展了高带宽的数据通信,并提高了语音通话安全性。 1、定位不同 2G网络是指第二代无线蜂窝电话通讯协…

    2023年1月31日
    1.5K00
  • oa智能化管理系统

    “智能化OA系统应如何选型和实施?” 在这个数字化转型的时代背景下,智能化OA(Office Automation)系统极大地提升了企业的管理效率和协作能力。合适的选择与实践路径对系统的成功落地至关重要。该决策过程通常涉及以下几个关键环节:1、明确组织需求、2、考虑易用性和兼容性、3、评估供应商的实…

    2024年1月15日
    18800
  • 精益看板用什么软件做

    精益看板可以用以下软件做:一、Trello;二、Asana;三、Jira;四、KanbanFlow;五、Smartsheet。Trello 是一款轻量级的工作进度计划表软件,借助 Trello 的看板、卡片和清单来管理任何团队的项目或任务。它可以通过创建卡片、列表和标签来协作、追踪任务和进度。 一、…

    2023年3月19日
    42300

发表回复

登录后才能评论
注册PingCode 在线客服
站长微信
站长微信
电话联系

400-800-1024

工作日9:30-21:00在线

分享本页
返回顶部