首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么C不是动态语言?

为什么C不是动态语言?
EN

Stack Overflow用户
提问于 2010-11-05 21:48:52
回答 5查看 418关注 0票数 6

如我所知,在C中,我们可以使用函数指针,这是在运行时(1)调用的。

根据维基百科的定义:

动态编程语言是计算机科学中广泛使用的术语,用来描述一类高级编程语言,在运行时执行其他语言在编译过程中可能执行的许多常见行为。

所以我的问题是,为什么C不是提供(1)中的特性的动态语言?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-11-05 21:52:32

因为函数指针中的函数仍然在编译时被编译。

您不能在运行时添加新函数或修改“动态”函数。

票数 5
EN

Stack Overflow用户

发布于 2010-11-05 21:52:29

多态行为不是动态语言制造的。一般说来,有人提到“动态语言”是指它的类型系统。PHP是一种动态语言,因为任何变量都可以包含任何类型的数据,并且数据类型之间的转换是隐式处理的。在运行时确定要转换的内容和时间。

此外,我认为C语言无法实现您引用的定义中的“高级编程语言类”部分。

票数 2
EN

Stack Overflow用户

发布于 2010-11-05 21:53:45

只能为编译时存在的函数分配指针.您不能在C程序中间编译新函数并为该函数分配指针。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4110383

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档