目录
一、_INTSIZEOF宏分析
#define _INTSIZEOF(n) ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) )
功能:获取n按照4字节的整数倍对齐后的字节数
分析:
- (sizeof(n)+sizeof(int)-1) 相当于 sizeof(n) + 3
- ~(sizeof(int) - 1) ) 相当于 ~(3),即:二进制 11111100
由此可知, ((sizeof(n)+sizeof(int)-1)&~(sizeof(int) - 1) ) 相当于 (sizeof(n) + 3) / 4 *4,因此 _INTSIZEOF(n) 作用是将n的字节数按照 sizeof(int) 的整数倍进行对齐。
二、可变参数函数介绍
头文件:stdarg.h
1、va_list
va_list ap; //ap指针
功能:va_list 表示可变参数列表类型,实际上就是一个cha