深入理解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

  • 14
    点赞
  • 56
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 12
    评论
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

liyinuo2017

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值