C语言常见面试题

一、用变量a给出下面的定义
此题除了笔试题出现,在面试或双选会中hr也偶尔会让人去手写

一个有十个指针的数组,该指针指向的是一个整形数

一个指向有十个整型数组的指针

一个指向函数的指针,该函数有一个整形参数并返回一个整形数

一个有10个指针的数组,该指针指向一个函数,该函数有一个整形参数并返回一个整型数

int *a[10];
int (*a)[10];
int (*a)(int);
int (*a[10])(int);
二、函数指针一般用在什么地方?
1)需要调用函数但不知道函数名,只能知道函数地址的情况

回调函数:当一个对象需要响应另一个对象的某些事件时,可以使用函数指针作为回调机制的一部分。例如,在图型用户界面中,可能需要将鼠标点击或键盘输入的事件处理程序与某个函数绑定,以便执行特定的操作。

动态库:在编程语言如C/C++中,函数指针也用于访问外部库中的函数。通过将函数地址存储在函数指针中,可以间接地调用这些函数。

2)建立函数指针表(函数指针数组)管理多个函数

多态性:在面向对象编程中,函数指针可以用于实现方法的重载或多态。例如,一个基类可能定义多个同名虚函数,而子类可以通过重写这些函数来实现不同的行为。(虚函数表)
3)函数指针作为参数传递给其他函数

signal():该函数用于设置信号处理函数,在触发对应信号的时候,调用指定的函数。
pthread_create():该函数用于创建线程,传递一个函数指针用于指定线程处理函数
三、指针常量与常量指

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值