目录

  • 一、声明和定义的区别
    • 什么是定义
    • 什么是声明
    • 区别
  • 二、针对变量时
  • 三、针对函数时
  • 四、参考

一、声明和定义的区别

什么是定义

定义就是创建一个对象,给它分配内存并取名字(变量名或对象名),还可以指定初值。另外,一个变量或对象只能被定义一次,否则编译器会提示重复定义。

什么是声明

用于向程序表明变量的类型和名字。告诉编译器这个名字已使用,别的地方不能再用它作为变量名或对象名。另外,声明可以出现多次。

区别

对象分配了内存,声明没有分配内存。
定义也是声明,extern声明不是定义(通过使用extern关键字声明而不定义)。
带有初始化的声明必定是定义。

二、针对变量时

除非有extern关键字,否则都是变量的定义。

extern int i; //声明
int i; //定义

三、针对函数时

带有{ }的就是定义,否则就是声明

extern int max(int a1,int a2);  //声明

四、参考

[1] https://blog.csdn.net/gatieme/article/details/50640424
[2] https://www.cnblogs.com/haore147/p/3647466.html

C语言中,声明和定义的区别相关推荐

  1. C语言中union与struct的区别及sizeof的计算方式

    C语言中union与struct的区别 2011-08-02 23:41 45人阅读 评论(0) 收藏 举报 在C语言中结构体和联合具有细微差别,特别是使用sizeof()对其求大小时,许多刚刚接触C ...

  2. C语言中char*和char[]用法区别分析

    本文实例分析了C语言中char * 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指 ...

  3. c语言中引用头使用什么指令,在源文件(.c)和头文件(.h)中声明和定义的区别——C语言...

    最近在看多文件编程的时候遇到的一个问题,本来以为理解了声明和定义的区别(然而并没有····),也算是重新认识了一次声明和定义,下面上代码 声明和定义:有分配空间的叫定义,没分配空间的叫声明 定义:表示 ...

  4. c语言中 char怎样用,C语言中char*和char[]用法区别分析

    C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...

  5. 实例分析C语言中strlen和sizeof的区别

    C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...

  6. c语言char有什么作用,C语言中char*和char[]用法区别分析

    本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正 ...

  7. c语言中sbit什么意思,c语言中bit和sbit的区别.doc

    c语言中bit和sbit的区别 c语言中bit和sbit的区别?? 1.bit和sbit都是C51扩展的变量类型. ??????? bit和int char之类的差不多,只不过char=8位, bit ...

  8. C语言中sbit字节操作方法,c语言中bit和sbit的区别

    c语言中bit和sbit的区别 c语言中bit和sbit的区别: 1.bit和sbit都是C51扩展的变量类型. bit和int char之类的差不多,只不过char=8位, bit=1位而已.都是变 ...

  9. c语言中%s的作用,C语言中%c与%s的区别与划分详解

    %c格式对应的是单个字符,%s格式对应的是字符串. 例: char a; char b[20]; scanf("%c",&a); //只能输入一个字符. scanf(&qu ...

最新文章

  1. 全国计算机等级考试评卷、成绩处理和证书管理办法
  2. PHP监控linux服务器负载
  3. pytorch单维筛选 相乘
  4. informatica 参数文件配置
  5. Android加速度传感器
  6. 教大家python读取一行一行文件内容的方法
  7. PowerShell实现批量收集SCVMM中虚拟机IP-续
  8. IDEA导入Eclipse项目
  9. authinfo.php,【nginxphp】后台权限认证方式
  10. stm32f407 tim4 复用_波分复用对比,CWDM、DWDM、CCWDM有何不同?
  11. form表单、控制器中接收表单提交数据的4种方式
  12. 《learn objective-c on the Mac for OS X and IOS》译名《objective-C基础教程》
  13. 简直要吐槽!!enable-migrations fails on x64 Projects
  14. Openstack M版快速配置(二)--刷数据库
  15. 撸了一个疫苗接种行程管理系统,爽!
  16. SpringMVC拦截器的使用
  17. android webkit案例,移动互联网时代--Android上的一个例子
  18. arcgis下载并部署/替换底图服务/IIS跨域--参考资料链接
  19. 2019华为软件精英挑战赛总结
  20. 详解php与mysql的关系

热门文章

  1. 微信小程序 默认第一个选中变色
  2. 四川哪家专科学院计算机好,2019四川省最好的十大专科学校排名
  3. 任正非:华为从未想干翻苹果 称霸死无葬身之地
  4. matlab用diag直接使用错误_matlab中的diag(diag(a))是什么意思?
  5. 【Spring Cloud Alibaba】Gateway 服务网关
  6. 【Py】pyecharts数据可视化案例——地下室空气治理
  7. mpvue的一些知识
  8. 技术人员需要了解的手机验证码登录风险
  9. ASP.Net0625金通置业企业网站
  10. ccf python写题随手记