首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

面试题008:请解释一下C语言中的函数指针,并且给出一个例子进行说明?

int a, int b) { return a + b; } int subtract(int a, int b) { return a - b; } int main() { int (*funcPtr...)(int, int); // 声明一个函数指针变量 funcPtr = add; // 函数指针指向add函数 int result = funcPtr(2, 3); // 调用add函数,返回结果为...5 funcPtr = subtract; // 函数指针指向subtract函数 result = funcPtr(5, 2); // 调用subtract函数,返回结果为3 } 在上面的示例中...,声明了一个函数指针变量funcPtr,它可以指向返回类型为int、参数类型为int和int的函数。...首先,将funcPtr指向add函数,然后通过funcPtr调用add函数并返回结果。接着,将funcPtr指向subtract函数,再通过funcPtr调用subtract函数并返回结果。

19620
您找到你想要的搜索结果了吗?
是的
没有找到

利用Clang探究block的本质

FuncPtrFuncPtr是一个函数指针,作为结构体的第四个也是最后一个成员变量。这个函数指针用于指向block的定义。Objective-C层面调用block底层就是调用的这个函数指针。...block 被强转为__block_impl类型,就可以访问FuncPtr函数,block->FuncPtr接收了block、a、b三个参数。还记得FuncPtr这个函数指针的由来吗?...block的调用就是调用这个结构体对象内的成员变量impl的名为FuncPtr的函数指针。其中FuncPtr指针指向了block的实现(即block代码块)。...函数,上面已经说过,FuncPtr就是指向函数__main_block_func_0的函数指针调用FuncPtr就相当于调用__main_block_func_0。...block的调用就是调用这个结构体对象内的成员变量impl的名为FuncPtr的函数指针。其中FuncPtr指针指向了block的实现(即block代码块)。

7.3K20

扫码

添加站长 进交流群

领取专属 10元无门槛券

手把手带您无忧上云

扫码加入开发者社群

相关资讯

热门标签

活动推荐

    运营活动

    活动名称
    广告关闭
    领券