C语言--“.”与“-”有什么区别?
这虽然是个小问题,但有时候很容易让人迷惑,因为有的时候用混淆了,程序编译不通过。
下面说说我对它们的理解。
一般情况下用“.”,只需要声明一个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。
而用“->”,则要声明一个结构体的指针,还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引用自然出错了,因为没有结构体,自然没有结构体的域了。
此外,(*a).b 等价于 a->b。
"."一般情况下读作"的”。
“->”一般读作"指向的结构体的"。
C语言--“.”与“-”有什么区别?相关推荐
- c语言exit和return区别,在fork和vfork中使用
转自c语言exit和return区别,在fork和vfork中使用 exit函数在头文件stdlib.h中. 简述: exit(0):正常运行程序并退出程序: exit(1):非正常运行导致退出程序: ...
- 脚本语言和编程语言的区别
脚本语言和编程语言的区别 计算机语言的种类非常的多,总的来说可以分成机器语言,汇编语言,高级语言三大类. 1 . 计算机所能识别的语言只有机器语言,即由0和1构成的代码.但通常人们编程时,不采用机器语 ...
- Go语言中*和的区别
Go语言中*和&的区别 总结 示例 老是分不清*和&的区别,今天特意总结了一下. 1. 总结 &是取地址符. *可以表示一个变量是指针类型,也可以表示指针类型变量所指向的存储单 ...
- 计算机语言缺省,揭秘物联网必学语言——C语言与C++的区别
C语言虽说经常和C++在一起被大家提起,但可千万不要以为它们是一个东西.有很多人会有这样的疑问:C语言和C++有什么区别呢? C++是在C语言的基础上发展来的,但是并不是C++比C语言高级,两者的编程 ...
- C语言 全局变量和局部变量区别 - C语言零基础入门教程
目录 一.全局变量和局部变量简介 1.全局变量简介 2.局部变量简介 二.全局变量和局部变量注意事项 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语 ...
- C语言 NULL 和 0 区别 - C语言零基础入门教程
目录 一.关于 NULL 定义 二.NULL 和 0 区别 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.关于 NULL 定义 NU ...
- C语言 const 和 define 区别 - C语言零基础入门教程
目录 一.const 使用 1.const 修饰变量 2.const 修饰指针 3.const 修饰在函数名前面 4.const 修饰在函数名后面 5.const 修饰函数参数 二.define 使用 ...
- C语言 typedef 和 define 区别 - C语言零基础入门教程
目录 一.typedef 简介 1.typedef 简化复杂的类型声明 A.定义普通变量 B.定义函数指针 C.定义结构体 2.定义与平台无关的类型 二.define 简介 三.typedef 和 d ...
- C语言 指针和数组区别 - C语言零基础入门教程
目录 一.前言 二.指针和数组区别 1.通过 sizeof 获取大小 a.计算数组大小 b.计算指针大小 2.指针和数组赋值方式不同 a.指针赋值 b.数组赋值 3.指针是指针变量,数组是指针常量 三 ...
- C语言 memcpy和memcpy_s区别 - C语言零基础入门教程
目录 一.memcpy 和 memcpy_s 函数区别 1.语法对比 memcpy_s 函数语法 memcpy 函数语法 2.memcpy 和 memcpy_s 相同点 3.memcpy 和 memc ...
最新文章
- 基于 OpenCV 的表格文本内容提取
- 强化学习vs遗传算法-人工智能在模拟领域的应用
- 使用 Node.js 开发简单的脚手架工具
- 企业 MySQL 优化实施方案
- 【渝粤教育】 国家开放大学2020年春季 2772家畜环境卫生与设施 参考试题
- 【经验】Qt项目开发必备工具
- 英文标点符号翻译大全
- matlab程序里nbus=x的意思,MATLAB潮流程序(IEEE14 直角坐标 牛拉法)
- AI算力的阿喀琉斯之踵:内存墙
- 467.环绕字符串中唯一的子字符串
- 升级版4850竖曲线
- 201万年薪,华为天才少年路径可以复制吗
- flex: 1到底是什么意思?
- testflight怎么做版本更新_TestFlight
- in-place运算总结
- 亿级流量电商详情页系统的大型高并发与高可用缓存架构实战
- 东半球最好的TV桌面开源项目
- python进阶 - day1
- 天地不仁,通货在膨胀
- iOS 设置个人头像