关于数据段和代码段的区别

dingxd319 2013-06-23 06:32:58
代码段和数据段的具体区别是什么?比喻下面一段程序,哪条代码存在代码段,哪条存在数据段里;
#include<stdio.h>
#include<stdlib.h>
int m=2;
main()
{
int b=3;
if(b>a)
{
printf("b is greate than a\n");
}
else
{
printf("a is greate than b\n");
}
}
上面这段代码,哪几条存在代码段,哪几条存在数据段?
...全文
1354 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
赵4老师 2013-06-24
  • 打赏
  • 举报
回复
代码段通常只放代码,有时也放数据。
  • 打赏
  • 举报
回复
代码段只读,存放指令和常量 数据段进行存取
AnYidan 2013-06-23
  • 打赏
  • 举报
回复
代码段只放代码 数据段只放全局变量和常量
Carl_CCC 2013-06-23
  • 打赏
  • 举报
回复
你这个程序m=2就放在了数据段, if/else, printf等等这些代码在代码段
赵4老师 2013-06-23
  • 打赏
  • 举报
回复
计算机组成原理→DOS命令→汇编语言→C语言(不包括C++)、代码书写规范→数据结构、编译原理、操作系统→计算机网络、数据库原理、正则表达式→其它语言(包括C++)、架构…… 对学习编程者的忠告: 眼过千遍不如手过一遍! 书看千行不如手敲一行! 手敲千行不如单步一行! 单步源代码千行不如单步对应汇编一行! VC调试时按Alt+8、Alt+7、Alt+6和Alt+5,打开汇编窗口、堆栈窗口、内存窗口和寄存器窗口看每句C对应的汇编、单步执行并观察相应堆栈、内存和寄存器变化,这样过一遍不就啥都明白了吗。 对VC来说,所谓‘调试时’就是编译连接通过以后,按F10或F11键单步执行一步以后的时候,或者在某行按F9设了断点后按F5执行停在该断点处的时候。
Inhibitory 2013-06-23
  • 打赏
  • 举报
回复
你也可以理解成代码段和数据段都一样,但是代码段只需要读取,而数据假则是可读写的,分开放是为了系统处理缓存的时候能更好的优化,提高缓存的命中率,加快速度。

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧