C语言中,声明和定义的区别
目录
- 一、声明和定义的区别
- 什么是定义
- 什么是声明
- 区别
- 二、针对变量时
- 三、针对函数时
- 四、参考
一、声明和定义的区别
什么是定义
定义就是创建一个对象,给它分配内存并取名字(变量名或对象名),还可以指定初值。另外,一个变量或对象只能被定义一次,否则编译器会提示重复定义。
什么是声明
用于向程序表明变量的类型和名字。告诉编译器这个名字已使用,别的地方不能再用它作为变量名或对象名。另外,声明可以出现多次。
区别
对象分配了内存,声明没有分配内存。
定义也是声明,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语言中,声明和定义的区别相关推荐
- C语言中union与struct的区别及sizeof的计算方式
C语言中union与struct的区别 2011-08-02 23:41 45人阅读 评论(0) 收藏 举报 在C语言中结构体和联合具有细微差别,特别是使用sizeof()对其求大小时,许多刚刚接触C ...
- C语言中char*和char[]用法区别分析
本文实例分析了C语言中char * 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指 ...
- c语言中引用头使用什么指令,在源文件(.c)和头文件(.h)中声明和定义的区别——C语言...
最近在看多文件编程的时候遇到的一个问题,本来以为理解了声明和定义的区别(然而并没有····),也算是重新认识了一次声明和定义,下面上代码 声明和定义:有分配空间的叫定义,没分配空间的叫声明 定义:表示 ...
- c语言中 char怎样用,C语言中char*和char[]用法区别分析
C语言中char*和char[]用法区别分析 本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很 ...
- 实例分析C语言中strlen和sizeof的区别
C语言文章更新目录 C/C++学习资源(百度云盘链接) 计算机二级资料(过级专用) C语言学习路线(从入门到实战) 编写C语言程序的7个步骤和编程机制 C语言基础-第一个C程序 C语言基础-简单程序分 ...
- c语言char有什么作用,C语言中char*和char[]用法区别分析
本文实例分析了C语言中char* 和 char []的区别.分享给大家供大家参考之用.具体分析如下: 一般来说,很多人会觉得这两个定义效果一样,其实差别很大.以下是个人的一些看法,有不正确的地方望指正 ...
- c语言中sbit什么意思,c语言中bit和sbit的区别.doc
c语言中bit和sbit的区别 c语言中bit和sbit的区别?? 1.bit和sbit都是C51扩展的变量类型. ??????? bit和int char之类的差不多,只不过char=8位, bit ...
- C语言中sbit字节操作方法,c语言中bit和sbit的区别
c语言中bit和sbit的区别 c语言中bit和sbit的区别: 1.bit和sbit都是C51扩展的变量类型. bit和int char之类的差不多,只不过char=8位, bit=1位而已.都是变 ...
- c语言中%s的作用,C语言中%c与%s的区别与划分详解
%c格式对应的是单个字符,%s格式对应的是字符串. 例: char a; char b[20]; scanf("%c",&a); //只能输入一个字符. scanf(&qu ...
最新文章
- 全国计算机等级考试评卷、成绩处理和证书管理办法
- PHP监控linux服务器负载
- pytorch单维筛选 相乘
- informatica 参数文件配置
- Android加速度传感器
- 教大家python读取一行一行文件内容的方法
- PowerShell实现批量收集SCVMM中虚拟机IP-续
- IDEA导入Eclipse项目
- authinfo.php,【nginxphp】后台权限认证方式
- stm32f407 tim4 复用_波分复用对比,CWDM、DWDM、CCWDM有何不同?
- form表单、控制器中接收表单提交数据的4种方式
- 《learn objective-c on the Mac for OS X and IOS》译名《objective-C基础教程》
- 简直要吐槽!!enable-migrations fails on x64 Projects
- Openstack M版快速配置(二)--刷数据库
- 撸了一个疫苗接种行程管理系统,爽!
- SpringMVC拦截器的使用
- android webkit案例,移动互联网时代--Android上的一个例子
- arcgis下载并部署/替换底图服务/IIS跨域--参考资料链接
- 2019华为软件精英挑战赛总结
- 详解php与mysql的关系