可变参数
#include<stdarg.h>//可以处理可变参数
double add(int num,...)//...代表可变的参数
{
double alst=0.0;
va_list argp;//创建一个插入类型的指针
}
指针函数
定义
指针函数,简单的来说,就是一个返回指针的函数,其本质是一个函数,而该函数的返回值是一个指针
int *fun(int x,int y);
函数指针
定义//可以将函数地址作为参数传递给其他函数
函数指针,其本质是一个指针变量,该指针指向这个函数。总结来说,函数指针就是指向函数的指针。
声明格式:类型说明符 (*函数名) (参数)
如下:
int (*fun)(int x,int y);
int add(int x,int y){
return x+y;
}
int sub(int x,int y){
return x-y;
}
//函数指针
int (*fun)(int x,int y);
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
//第一种写法
fun = add;
qDebug() << "(*fun)(1,2) = " << (*fun)(1,2) ;
//第二种写法
fun = ⊂
qDebug() << "(*fun)(5,3) = " << (*fun)(5,3) << fun(5,3);
return a.exec();
}
#include<stdio.h>
#include<stdlib.h>
#include<Windows.h>
void msg() {
printf("sssssssss");
}
int add(int a, int b) {
return a + b;
}
void main() {
printf("%p,%p", add, msg);
void(*p)();//定义函数指针 类型直接改变函数名为指针
p = msg;
p();//调用
int(*px)(int a, int b) = add;
px(1,2);
getchar();
}
定义不同
指针函数本质是一个函数,其返回值为指针。
函数指针本质是一个指针,其指向一个函数。