一、用变量a给出下面的定义
此题除了笔试题出现,在面试或双选会中hr也偶尔会让人去手写
一个有十个指针的数组,该指针指向的是一个整形数
一个指向有十个整型数组的指针
一个指向函数的指针,该函数有一个整形参数并返回一个整形数
一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数
int *a[10];
int (*a)[10];
int (*a)(int);
int (*a[10])(int);
二、函数指针一般用在什么地方?
1)需要调用函数但不知道函数名,只能知道函数地址的情况
回调函数:当一个对象需要响应另一个对象的某些事件时,可以使用函数指针作为回调机制的一部分。例如,在图型用户界面中,可能需要将鼠标点击或键盘输入的事件处理程序与某个函数绑定,以便执行特定的操作。
动态库:在编程语言如C/C++中,函数指针也用于访问外部库中的函数。通过将函数地址存储在函数指针中,可以间接地调用这些函数。
2)建立函数指针表(函数指针数组)管理多个函数
多态性:在面向对象编程中,函数指针可以用于实现方法的重载或多态。例如,一个基类可能定义多个同名虚函数,而子类可以通过重写这些函数来实现不同的行为。(虚函数表)
3)函数指针作为参数传递给其他函数
signal():该函数用于设置信号处理函数,在触发对应信号的时候,调用指定的函数。
pthread_create():该函数用于创建线程,传递一个函数指针用于指定线程处理函数
三、指针常量与常量指