[编译原理与设计] 1-1 编程语言
1. 动态类型与静态类型
参考: https://zhuanlan.zhihu.com/p/...
- 静态类型
变量的类型必须先声明,即在创建的那一刻就已经确定好变量的类型,而后的使用中,你只能将这一指定类型的数据赋值给变量。如果强行将其他不相干类型的数据赋值给它,就会引发错误。
在编译阶段完成数据类型的相容性检查
文章图片
- 【[编译原理与设计] 1-1 编程语言】动态类型
将什么类型的数据赋值给变量,这个变量就是什么类型
在运行阶段完成数据类型的相容性检查
文章图片
动态类型语言举例:
- PHP
- Ruby
- Python
- C
- C++
- JAVA
- C#
参考:https://zhuanlan.zhihu.com/p/...
- 强类型语言(类型不安全语言)
强类型语言是一种强制类型定义的语言,即一旦某一个变量被定义类型,如果不经强制转换,那么它永远就是该数据类型。 - 弱类型语言(类型安全语言)
弱类型语言是一种弱类型定义的语言,某一个变量被定义类型,该变量可以根据环境变化自动进行转换,不需要经过现行强制转换。
- Java
- C++
- Python
- VB
- PHP
- JavaScript
两种形式的隐式类型转换:
- 相关类型之间隐式转换
如:一个int类型的数据与一个float类型的数据相加 - 不相关类型之隐式间转换
如:一个int类型数据与一个字符串类型数据相加
推荐阅读
- 『现学现忘』Docker基础|『现学现忘』Docker基础 — 33、Docker数据卷容器的说明与共享数据原理
- 基于51单片机的刷卡停车计时收费系统射频RFID方案原理图程序设计
- #|【蓝桥杯嵌入式】【STM32】12_2020_第十一届_蓝桥杯_嵌入式设计与开发项目_省赛
- 数据结构与算法|C/C++ 堆排序的非递归实现
- 单片机系列|第十二届省赛嵌入式设计与开发《停车计费系统》
- c++|一文读懂 Android FFmpeg 视频解码过程与实战分析
- 华为鸿蒙系统有什么不一样,鸿蒙系统与EMUI系统到底有何不同,华为手机将来能否支持双系统(...)
- 计算机视觉|计算机视觉之浅析RGB/HSV与inRange函数
- 计算机视觉|色彩空间RGB/CMYK/HSL/HSB/HSV/Lab/YUV基础理论及转换方法:RGB与YUV
- 计算机组成原理|计算机组成原理 第二章 数据的表示与运算