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

Guess you like

Origin blog.csdn.net/li_man_man_man/article/details/121510488