社区
C语言
帖子详情
C语言的类型转换是什么时候发生?
csoma
2012-09-02 10:39:39
编译的时候?
执行的时候?
...全文
543
15
打赏
收藏
C语言的类型转换是什么时候发生?
编译的时候? 执行的时候?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
15 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
wenke311
2012-09-04
打赏
举报
回复
应该是编译的时候
xspace_time
2012-09-03
打赏
举报
回复
确定是否存在类型转换时在你写程序的时候 能不能转换是在编译的时候 具体执行是在各种类型存取指令(即转换)或者调用相应转换指令(如调用转换函数)的时候 转换完成是在指令或者函数指令成功或者失败的时候
赵4老师
2012-09-03
打赏
举报
回复
VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)
这辈子不看内存地址和内存值;只画链表、指针示意图,画堆栈示意图,画各种示意图,甚至自己没画过而只看过书上的图……能从本质上理解指针、理解函数参数传递吗?本人深表怀疑!
这辈子不种麦不收麦不将麦粒拿去磨面;只吃馒头、吃面条、吃面包、……甚至从没看过别人怎么蒸馒头,压面条,烤面包,……能从本质上理解面粉、理解面食吗?本人深表怀疑!!
提醒:
“学习用汇编语言写程序”
和
“VC调试(TC或BC用TD调试)时按Alt+8、Alt+6和Alt+5,打开汇编窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应内存和寄存器变化,这样过一遍不就啥都明白了吗。
(Linux或Unix下可以在用GDB调试时,看每句C对应的汇编并单步执行观察相应内存和寄存器变化。)”
不是一回事!
不要迷信书、考题、老师、回帖;
要迷信CPU、编译器、调试器、运行结果。
并请结合“盲人摸太阳”和“驾船出海时一定只带一个指南针。”加以理解。
任何理论、权威、传说、真理、标准、解释、想象、知识……都比不上摆在眼前的事实!
有人说一套做一套,你相信他说的还是相信他做的?
其实严格来说这个世界上古往今来所有人都是说一套做一套,不是吗?
不要写连自己也预测不了结果的代码!
cao_julians
2012-09-03
打赏
举报
回复
全局变量的初始化时类型转换应该是在编译时;
int x=(int)123.4;//因为此时初始化值是常量,编译时能算出来
语句中的类型转换应该是在运行时;
x=(int)(y*z+0.45);//此时必须完成表达式的运算(含变量),只能运行时进行类型转换
自信男孩
2012-09-03
打赏
举报
回复
应该是在编译的时候,因为编译后会确定代码长度,并且是加载时会将编译后的文件加载到内存中,这时,每个变量的大小是已经确定的。
hu7324829
2012-09-03
打赏
举报
回复
编译期可以确定代码中需要转换的地方, 运行期时直到你程序走到这一步就会发生真正的转换.
mujiok2003
2012-09-03
打赏
举报
回复
[Quote=引用 6 楼 的回复:]
引用 3 楼 的回复:
编译时确定是否类型转换,执行的时候发生转换。
编译时,怎样确定是否类型转换?
[/Quote]
1. 隐式转换
见到“=“时, 如果源类型和目的类型不一致,就会根据情况决定类型转换(类型提升或截断)
2. 显示转换
遇到类型转换运算符(),编译器会根据情况决定类型转换
BYD123
2012-09-03
打赏
举报
回复
编译的时候。
csoma
2012-09-02
打赏
举报
回复
[Quote=引用 3 楼 的回复:]
编译时确定是否类型转换,执行的时候发生转换。
[/Quote]
编译时,怎样确定是否类型转换?
漫步者、
2012-09-02
打赏
举报
回复
执行期,编译期是检查的程序错误、内存分配成功等问题,而执行期则是执行你的代码程序。
KLH_0109
2012-09-02
打赏
举报
回复
应该是执行的时候
mujiok2003
2012-09-02
打赏
举报
回复
编译时确定是否类型转换,执行的时候发生转换。
gfvera
2012-09-02
打赏
举报
回复
两种不同的数据类型进行运算的时候。
整数和浮点数运算如果结果保存在整数里面会去掉小数位,保存在浮点里面会将结果添加小数位
Corner
2012-09-02
打赏
举报
回复
你结完帖子的时候
AnYidan
2012-09-02
打赏
举报
回复
[Quote=引用 1 楼 的回复:]
你结完帖子的时候
[/Quote]
++
C语言
--视频精讲
C语言
作为被长期使用的编程语言,可以被运用到各种操作系统,游戏,开发中。本课程作为互联网上首家使用C99录制的
C语言
教程,展现了全面、专业。标准的
C语言
教程。可以帮助学员从基础开始一点点的深刻理解
C语言
。
在
c语言
中出现的int错误类型,【揭秘】
C语言
类型转换
时
发生
了什么?
原标题:【揭秘】
C语言
类型转换
时
发生
了什么?ID:技术让梦想更伟大作者:李肖遥在
C语言
中,数据类型指的是用于声明不同类型的变量或函数的一个广泛的系统,我们常用的算术类型包括两种类型:整数类型和浮点类型。...
c语言
自动
类型转换
规则,
C语言
类型转换
的方法
C语言
类型转换
的方法我们在编程序的时候,经常会出现不同类型的数据之间需要计算、赋值,必然会出现
类型转换
问题。
C语言
的变量数据类型是可以转换的,转换的方法有两类,一种是自动转换,一种是强制转换。自动转换...
C语言
类型转换
C语言
中
类型转换
主要分为两种: 1. 隐式
类型转换
2. 显示
类型转换
隐式
类型转换
:编译器自动将左右操作数变成相同类型去计算。 显式
类型转换
:程序开发者主观上去将类型强制转换。 在
类型转换
C语言
的数据的强制
类型转换
强制
类型转换
算是
C语言
中常见常考的一项内容,如对于类型处理不好,将会产生错误结果。对于某些类型的转换编译器可隐式地自动进行,不需人工干预,称这种转换为自动
类型转换
;而有些
类型转换
需要编程者显式指定,...
C语言
69,336
社区成员
243,078
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章