C语言中.和-的区别
利用指针访问成员是用"->",利用变量访问成员用的是"."
1、指向不同
一般情况下用“.”,只需要声明一百个结构体。格式是,结构体类型名+结构体名。然后用结构体名加“.”加域名就可以引用域 了。因为自动分配了结构体的内存。如同 int a;一样。
而用“->”,则要声明一个结构体的指针,度还要手动开辟一个该结构体的内存,然后把返回的指针给声明的结构体指针,才能用“->”正确引用。
否则内存中只分配了指针的内存,没有分配结构体的内存,导致想要的结构体实际上是不存在。这时候用“->”引回用自然出错了,因为没有结构体,自然没有结构体的域了。
2、读法不同
(*a).b 等价于 a->b。"."一般情况下读作"的”。
“->”一般读作"指向的结构体的"。
3、作用的不同
在“结构”一单元中出现的->运算符成为“右箭头选择”,在使用中可以用new_node->value = 10;来代替(*new_code).value = 10;
也就是说在结构中答,运算符->是运算符*和运算符.的结合,在上述语句中,他先对new_node间接寻址以定位所指向的结构,然后再选择结构的成员value。
reference:https://zhidao.baidu.com/question/118239934.html
C语言中.和-的区别相关推荐
- c语言中区别一般变量,C语言中,为了区别一般的变量,符号常量必须用
C语言中,为了区别一般的变量,符号常量必须用大写字母表示.(?) 答:错 ,维也纳古典乐派代表人物之一,欧洲古典主义时期作曲家.因其对古典音乐的重大贡献,对奏鸣曲式和交响曲套曲结构的发展和创新,而被后 ...
- C 语言中” 与””的区别
'' 引起的一个字符代表一个整数,整数值对应于该字符在编译器采用的字符集中的序列值."" 引起的字符串代表的是一个指向无名数组起始字符的指针. 对这两个符号产生了兴趣,遂打开 VS ...
- C语言中.和->区别
结构体变量用 . 运算符来访问结构体的成员 struct A { int a; int b; };A object; object.a = 1; 指向结构体的指针用->来访问其指向的结构体的成员 ...
- c语言中'.'与'-'的区别
记录学习c语言中遇见的问题. 定义的结构体如果是指针,访问成员时就用->如果定义的是结构体变量,访问成员时就用. 例如:struct AAA { int a; char b;}; struct ...
- c语言中!与~的区别
编译器信息还不知道怎么看. 在我电脑和手机的GCC环境中 !: 代表值得取反,对于整形变量,只要不为0,使用 ! 取反都是0,0取反就是1.就像 bool 只有真假一样. ~: 代表位的取反,对于整形 ...
- c语言中 “=”和”==“的区别
"=" 是把"="右边的值赋值给左边. 如 int i: i=2: 将整数2赋值给i "==" 是将"=="左 ...
- C语言中“.”与-的区别
写过C语言的各位朋友刚开始的时候一定受过这俩个混淆的坑吧. 看着感觉这俩个差不多啊,都是可以指向一个结构体的元素.但是,往往我们写的时候感觉错误百出: 下面我指出这俩个混淆的错误: 代码附上: 在上图 ...
- 【新手向】C语言中“=”与“==”的区别及使用方法
有什么不同? 虽然"=""=="同属于操作符的一种,但实际上"="属于赋值操作符,"=="属于关系操作符. 根据他们操作 ...
- c语言中.和-区别,c语言中-和.的区别
对于c语言中"->"和"."的区别总结如下: 1.A.B则A为对象或者结构体: 2.A->B则A为指针,->是成员提取,A->B是提取A ...
- java可以使用c语言中的输入,c语言中的scanf在java中应该怎么表达,Scanner类。
1 java是面向对象的语言 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数 2 java.util包下有Scanner类 Scanner类的功能与scanf类似 3 ...
最新文章
- Linux安全检查方法
- RxJS 6有哪些新变化?
- 《HTML5 canvas开发详解(第2版)》——1.3 本书使用的基础HTML页面
- Azure data studio 跨平台数据库管理工具试用
- 七、MySQL DDL数据定义语言 学习笔记(库和表的创建、修改、删除详解 + 强化复习)
- java 类 加载 初始化_java类的加载与初始化
- Linux命令----cat
- MySQL架构设计相关的方式方法和软件介绍
- python从入门到放弃百度云-Python从入门到放弃:概论
- 无需第三方,使用Mac预览合并PDF
- 《数学之美》—余弦定理和新闻的分类
- 在SQL Server中建立主键外键的关系
- 我为什么弃用OpenStack转向CNware
- gpuinfo测试软件,gpuinfo
- el-amap的使用
- NodeJS 中上传图片,并且在数据库中保存图片地址
- 需要administrator权限才能删除文件的处理方法
- WiFi的单频和双频
- r语言plotmds_科学网—在R中运行metaMDS - 梅卫平的博文
- 最大可传输单元 MTU 对 UDP/TCP 包的大小限制
热门文章
- matlab dwt函数应用,MATLAB中关于DCT,DFT和DWT的相关函数
- Android进阶之路 - keyStore、jks签名证书相互转换
- Jetpack Compose Modifier用法详解,如何保证高可用
- Pascal voc 数据集xml格式解析
- batchnomal_Linux Kernel 排程機制介紹 ? Loda's blog
- Xcode7 网络请求报错:The resource could not be loaded be
- win10小娜不能使用解决方案
- 年底个人安全注意事项
- CTGU实验5_2-创建还书罚款触发器
- 【HUSTOJ】1022: 输出小写字母表