[问个幼稚的问题]定义和声明的区别?

Matthew 2003-09-11 11:00:48
如题,谢谢
...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
晨星 2003-09-11
  • 打赏
  • 举报
回复
int i和int i = 1通常都是定义。后者有初始化动作(函数参数中除外,那里表示缺省参数)。
Matthew 2003-09-11
  • 打赏
  • 举报
回复
那么比如:int i;是声明还是定义?和int i=1;的区别,定义和声明哪个范围更广呢?
atlcat 2003-09-11
  • 打赏
  • 举报
回复
“声明”向计算机介绍名字,它说,“这个名字是什么意思”。而“定义”为这个名字分配存储空间。无论涉及到变量是还是函数时含义都一样。无论在哪种情况下,编译器都在“定义”处分配存储空间。对于变量,编译器确定这个变量占多少存储单元,并在内存中产生存放它们的空间。对于函数,编译器产生代码,并为之分配存储空间。
hangdian 2003-09-11
  • 打赏
  • 举报
回复
duei de
FF_2003 2003-09-11
  • 打赏
  • 举报
回复
o
ccwwbb 2003-09-11
  • 打赏
  • 举报
回复
同意楼上的
lilyy 2003-09-11
  • 打赏
  • 举报
回复
声明是声明后不分配空间的
定义是在定义后就分配空间
yangchaobj 2003-09-11
  • 打赏
  • 举报
回复
main.c:
extern int i;//声明

......

function.c:
int i;
.......

i在function.c中被声明并定义,在main.c中只是声明。

69,371

社区成员

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

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