C语言能判断一个变量是int还是float吗?

C语言能判断一个变量是int还是float吗?

在开始前我有一些资料,是我根据自己从业十年经验,熬夜搞了几个通宵,精心整理了一份「C语言从专业入门到高级教程+工具包」,点个关注,全部无偿共享给大家!!!

在评论区回复"888",关注我之后私信回复"888",即可拿走。

简单回答是能。

复杂回答是:当它还是C语言的时候,能。

C语言作为一种native语言,是直接转化为机器语言运行的,因此在运行时间只有机器语言,C语言本身已经不存在了。所以也就不存在「C语言运行时间判断一个变量类型」的说法。

那么你如果问 C 语言能不能判断,只能是问的编译期,显然,编译器是知道每个变量属于什么类型的。变量的类型信息在编译期间都是有效的,所以编译器当然知道每个变量是什么类型。

运行时间判断变量类型则依赖于运行时间类型信息(RTTI),当然,这东西并不是对所有语言所有实现都存在。

如果单纯的是一个内存区域存储的数据,没有变量类型信息,要判断它是int还是float,这是无从判断的。只能大致推测它是 int 的概率更高还是 float 的概率更高。------不过怎么说呢,在「运行时间」,其实语言已经变成了机器语言,也根本没有「变量」这个概念了,所以题主的问题,也就不存在了。

相关推荐
zcmodeltech3 小时前
工程机械与矿山机械沙盘模型多系统协同控制系统设计:基于STM32与Modbus RTU的露天开采-井下掘进-智慧矿山全场景联动方案
数据库·stm32·单片机·嵌入式硬件·制造·多分类
云泽8084 小时前
深入浅出 STM32(十五):多通道GPIO驱动的软件抽象与实现
stm32·单片机·嵌入式硬件
嵌入式阿蔡5 小时前
OTA 实战五(收官):量产落地 Checklist —— 版本号 / 防回滚 / 灰度 / 断点续传
网络·stm32·单片机·嵌入式硬件·嵌入式实时数据库
遇雪长安7 小时前
STM32_BOOT未引出_串口升级系统Bootloader方案
stm32·单片机·嵌入式硬件·bootloader
tangchao340勤奋的老年?8 小时前
AMT630C 开阳电子 RISC‑V 显示 SoC|工业级双屏驱动 MCU,带 CAN 总线,国产 HMI 控制芯片
单片机·嵌入式硬件
youshi66688 小时前
stm32-SPI通信协议、软件SPI
stm32·单片机·嵌入式硬件
振南的单片机世界8 小时前
EXTI“一线多挂”陷阱:PA0和PB0同时触发,中断函数懵了
arm开发·stm32·单片机·嵌入式硬件
oshan201210 小时前
零基础STM32入门教程--04-工程文件分析
stm32·单片机·嵌入式硬件
lhbweilai10 小时前
FreeRTOS(事件组)
stm32·单片机·嵌入式硬件
LCG元10 小时前
STM32 HAL 库串口 DMA + 空闲中断接收不定长数据:从原理到量产级稳定方案
stm32·单片机·嵌入式硬件