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

为什么不能将函数赋值给函数指针?

函数指针是指向函数的指针变量,它存储了函数的地址。函数赋值给函数指针是不允许的,因为函数和函数指针在内存中的存储方式不同。

函数在内存中是以代码的形式存在的,它们被编译成机器指令并存储在代码段中。而函数指针是一个变量,它存储的是函数的地址,即代码段中函数的起始位置。

由于函数和函数指针在内存中的存储方式不同,所以不能直接将函数赋值给函数指针。这是因为函数的地址是由编译器在编译时确定的,而函数指针的类型是在声明时确定的。如果将函数赋值给函数指针,会导致类型不匹配的错误。

另外,函数指针还可以用来实现回调函数和动态调用函数等功能。通过将函数的地址赋值给函数指针,可以在程序运行时动态地调用不同的函数。

总结起来,不能将函数赋值给函数指针是因为函数和函数指针在内存中的存储方式不同,类型不匹配。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 函数指针和指针函数用法和区别

    函数指针和指针函数,在学习 C 语言的时候遇到这两个东西简直头疼,当然还有更头疼的,比如什么函数指针函数、指针函数指针、数组指针、指针数组、函数指针数组等等,描述越长其定义就越复杂,当然理解起来就越难,特别是刚开始学习这门语言的童鞋,估计碰到这些东西就已经要崩溃了,然后好不容易死记硬背下来应付考试或者面试,然后过了几天发现,又是根本不会用,也不知道该在哪些地方用,这就尴尬了。 今天这里只讲两个相对简单的,其实上面说那些太复杂的东西也真的很少用,即便是用了理解起来很麻烦,所以莫不如先深刻理解这两个比较容易的,并且项目中比较常用到。

    02
    领券