定义与声明

声明在代码中告知编译器变量或函数的存在,不分配内存,而定义会分配内存。一个对象在C语言中只能有一个定义,但可以有多个声明。extern用于引用其他文件中定义的变量,typedef用于给类型创建别名。定义是声明的一种特殊情况,提供存储空间。最佳实践是将定义放在.c文件中,声明放在.h文件中,以防止重复定义错误。
摘要由CSDN通过智能技术生成

C语言_定义与声明

声明与定义

定义:在代码中定义一个变量或者函数,意味着执行定义后,编译器会在内存中分配一块内存给所定义的变量或函数,

定义:

int XXX = 0xFF;

struct student{
				int age;
				string name;
			  }s1,s2;//其中,s1,s2是变量
			  
void fun(void)
{ }

声明:在代码中声明一个变量或者函数,只是告诉编译器,系统中有一个名字为XXX的变量或者函数,可以直接调用已经定义好的名字为XXX的变量或函数。

声明:

int XXX;
extern int XXXX;
extern int arry[];

typdef struct student{
				int age;
				string name;
			  }std
			  
extern void fun(void);

.区别和联系:

A.执行声明操作并不会重新分配内存,只是引用了已经定义好的变量或函数
B.C语言中的对象必须有且只有一个定义,但它可以有多个声明,extern是使用其他文件中定义的变量时需要的关键字,定义分配存储空间,而声明不会。
C.定义也是一种特殊的声明方式,即在定义变量时不仅声明了它的类型和名字还给了存储空间,如图也可以理解为定义是声明的子集,
在这里插入图片描述

.使用方式

  1. 定义放入.c文件,声明放入.h文件,避免重复定义错误,使用该变量或函数时候只需包含其头文件即可。
  2. 使用static限定非全局变量文件作用域

总结

C语言基础,必须掌握

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值