双向链表:
单链表:上一个指向下一个元素,下一个元素没有指针上一个元素。
数据域:data
指向域:后指向next
双向链表:上一个指向下一个元素,下一个元素也指针上一个元素。
数据域:data
指向域:前指针front 后指针next
可变形参:
固定形参:在定义函数时,形参列表的类型与个数是确定的
void fun(int a,int b)
{
}
可变形参:在函数传递值的个数或都类型不确定时,
返回值 函数名(形参列表,...)
{
}
eg: void fun(int c,...)
//通过如下的三个宏来分别取出堆栈中的每个实参的值
注:定义可变形参的类型时,第一个形参必须确定类型。
取出实参步骤:
1 定义一个va_list的类型变量(用于存储堆栈的首地址)
va_list ap;
2、调用宏: va_star(va_list,) 将堆栈的首地址存入到a中
3、va_arg(ap,last)宏,将每一个数据取出
ap是列表变量名
last形形参列表中最后一个确定元素的变量名;
4、va_end释放