C语言从头学19——类型的显式转换

类型的显式转换是相对于自动转换而言的,自动转换的结果可能超出我们的预期,而类型转换又是必要的。那么显式转换就提供了相应的手段。在一个值或变量的前面,使用圆括号指定类型,就可以将这个值或变量转为指定的类型,这种操作称为" 类型指定 "或" 强转 "。例如:

long int x=(long int)10+100; // 将数值10显示转换为 long int 类型

char c;

( unsigned char ) c; // 将c的 char 类型显示转换为 unsigned char 类型

强转这个概念对于我们深入学习C语言意义非常重要。虽然写法非常简单,但我们不能做简单理解。类型转换的实质:一是特定值所占用字节数的增减,二是重新解释特定二进制码值所代表的意义。对此,现在感觉有点虚幻,等后边接触到复杂数据结构时,会理解到类型转换在编程中的意义所在。

相关推荐
吃西瓜的年年9 小时前
1. 初识C语言
c语言·开发语言
永远都不秃头的程序员(互关)10 小时前
C语言 基本语法
c语言·开发语言
赖small强11 小时前
【Linux C/C++开发】Linux 平台 Stack Protector 机制深度解析
linux·c语言·c++·stack protector·stack-protector·金丝雀机制
liu****12 小时前
3.链表讲解
c语言·开发语言·数据结构·算法·链表
赖small强13 小时前
【Linux C/C++开发】Linux C/C++ 堆栈溢出:原理、利用与防护深度指南
linux·c语言·c++·stack·堆栈溢出
赖small强14 小时前
【Linux C/C++开发】Linux C/C++ 高效延迟崩溃分析:基于 mprotect 的内存陷阱技术 (Electric Fence)
linux·c语言·c++·mprotect·buffer overflow
繁华似锦respect14 小时前
C++ & Linux 中 GDB 调试与内存泄漏检测详解
linux·c语言·开发语言·c++·windows·算法
ULTRA??16 小时前
C语言简化版本开辟动态内存的万能MALLOC宏封装
c语言·开发语言
2401_8612775516 小时前
func(int* num)的实现是*num=2或者int a=3,num=&a都可以吗
c语言·c++
我要升天!16 小时前
QT -- 网络编程
c语言·开发语言·网络·c++·qt