【c语言笔记】【linux宏定义系列】交换数值swap linux宏定义系列的内容。 用于在linux kernel中记录各种宏定义。
宏定义了交换两个数值的说明。 例如,如果a=20 a=20 a=20,b=15 b=15 b=15,并且交换两个数字,则a=15 a=15 a=15,b=20 b=20 b=20。
宏的定义来自linux kernel 5.8。
实现代码#defineswap(a,b ) do ) typeof ) _tmp=)=(b ); (b )=__tmp; }while(0)宏定义中:
a表示交换数值的最初数量。
b表示要交换的数值的第二个个数。
示例程序用于交换a和b的数值。
intmain({ int argc,char* argv[] ) inta,b; a=15; b=20; printf(a:%d,b:%d(n ),a,b ); swap(a,b ); printf(a:%d,b:%d(n ),a,b ); 返回0; }实现过程__tmp=(a )
定义存储变量a值的临时变量。
(a )=(b ) ) )。
把b的数值给a。
(b )=__tmp
将临时变量的值,即a的原始值赋予b。
完成两个数量的数值交换。
[参考资料] linux kernel 5.8
/include/linux/kernel.h
本文链接: https://blog.csdn.net/u 012028275/article/details/118052014