深入理解C语言小括号用法
学了这么多年C语言,你真的会用小括号吗?我们今天来总结一下小括号“()”有哪些用法,用法如下表:
示例
1、聚组
聚组是用来改变运算优先级,实例如下:
例子1: data = (x + y)*5 ;
例子2: int (*pointer)[3] ;
例2中为声明一个指针数组。
2、函数调用
函数调用是用来调用函数,实例如下:
例子1: func(a , b);
例子2: (*func_p)(c , d);
3、类型转换
类型转换是用强制类型转换,实例如下:
例子1: float a = 3.14;
int b = (int)a;
4、复合语句表达式
复合语句表达式是将复合语句通过小括号括起来后,可以当做表达式,通常在GUN C中使用,实例如下
例子1: data = ( {int i,j; i = 2 ; j = i*2 + 1; } );
例1中data 值为5;
例子2:
#define container_of(ptr, type, member) ({ \
const typeof( ((type *)0)->member ) *__mptr = (ptr); \
(type *)( (char *)__mptr - offsetof(type,member) );})
例2中为container_of是linux内核数据结构中经常用到的宏,它可以根据结构体的成员变量获取所在结构体的首地址。
创作不易希望朋友们点赞,转发,关注。希望获取源码的朋友们在评论区里留言。
作者:李巍
Github:liyinuoman2017
深入理解C语言小括号用法相关推荐
- c语言(cn)括号的作用,c语言小括号的用法
c语言小括号的用法 C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,比如(a=2,b=3,c=a+b),返回值就是c的值.下面小编就为大家介绍c语言小括号的用法. c语言小括号 ...
- c语言中 小括号的作用,c语言小括号的用法有哪些用处
C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,下面学习啦小编就为大家介绍c语言小括号的用法,欢迎大家阅读. c语言小括号的用法:单小括号 () ①命令组.括号中的命令将会新开 ...
- 小括号在c语言的作用,c语言小括号的用法有哪些用处.docx
c语言小括号的用法有哪些用处.docx C语言小括号的用法有哪些用处C语言的小括号里面表示一条语句,返回值是多条语句中最靠右的语句的返回值,下面学习啦小编就为大家介绍C语言小括号的用法,欢迎大家阅读. ...
- Shell最全大括号{}、中括号[]、小括号()用法实例
1.大括号{ }用法实例 1)纯{ }用法 拓展功能:例如:ls {name1,name2}.sh :touch {1..3}.sh 代码组织功能:例如:多条命令在当前shell中执行 { cmd1; ...
- php正则表达式小括號,正则表达式中的小括号用法
正则表达式中的小括号用法 小括号中的连续字符作为可选: "Nov" -match "\bNov(ember)?\b" 返回true "Novembe ...
- C语言小括号改变运算顺序
在数学运算中,我们可以通过"小括号()"来改变运算的顺序,这个方法,在C语言中同样适用,测试例子如下: 程序运行结果如下: 可以看到,我们通过小括号,把 1 + 2 * 5改为 ( ...
- 正则表达式中的小括号用法
小括号中的连续字符作为可选: "Nov" -match "\bNov(ember)?\b" 返回true "November" -m ...
- C语言之C语言小括号表达式,C语言逗号运算符,C语言等号运算符
公众号:嵌入式不难 本文仅供参考学习,如有错误之处,欢迎留言指正. 结论 ()具有最高优先级,相等优先级的多个表达式时,()具有从左至右的结合性,即会先计算最左边的表达式,然后依次向右计算表达式 ,运 ...
- 小括号在c语言的作用,C语言的小括号----其实是逗号运算符
比如下面的代码: #include void fun() { int a, b, c, d; a = (, b = ); c = (, ); d = (, ); printf("%d %d ...
- matlab中 小括号,Verilog编程技巧之(括号)、[中括号]、{大括号}用法(对比matlab)...
简述 在初步接触到Verilog的括号时经常会将其和matlab矩阵的各种(括号).[中括号].{大括号}搞混. Verilog中括号的应用 Verilog语言中,除去这些括号在计算优先级中的作用(一 ...
最新文章
- 【Learning Spring 5.0】001 Spring架构及Spring介绍
- 谷歌翻译大型翻车现场:请服用“反坦克导弹”来缓解疼痛,UCLA:医生们要注意了...
- PHP 基础知识-数组
- 双NameNode的同步机制
- Java设计模式之策略模式---写的比较有趣,推荐大家看看
- 元组怎么变成列表_Python入门教程笔记(四)元组(tuple)及字典(dict)
- vs2013实现duilib结合cef的demo
- 用单片机c51电子秤的c语言,原创基于51单片机的电子秤设计 带源代码,原理图毕业设计论文...
- 微信小程序保存图片到相册
- HikariDataSource 配置详解
- 技能学习:学习使用golang(gin框架) + vue.js,开发前端全栈网站-1.工具和本地环境
- log4j连接ekl
- MoveIt教程[11]:Visualizing Collisions
- FLStudio水果最新版本V21支持中文语言
- 深度学习---人脸检测(勿喷)
- 考计算机用win10行吗,老电脑适合装win10吗
- 水面漂浮物垃圾识别检测系统 YOlOv7
- mysql导入excel为什么丢行_Excel导入mysql数据丢掉
- 计算机制作情景短剧实验总结,校园情景剧 5分钟正能量情景剧剧本三篇 3分钟情景短剧剧本.docx...
- 用计算机发传真,怎么使用win7电脑发传真|使用win7电脑发传真的详细步骤
热门文章
- win10 关闭139 135 445端口 (危险端口关闭)
- [C语言]if语句的常见用法
- 自己制作一个计时器、倒计时器
- java 网易邮箱_Java mail 163邮箱配置
- 携程:电子合同高效赋能数字文旅
- YAMAHA XJR简易说明[网络]
- 5750G GT540M显卡游戏蓝屏的终极解决方法!
- com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
- vue+antDesign实现树形数据展示并表格父子级选中和取消联动
- 考研日语线上笔记(六):完型专项篇