函数的意义

本文详细介绍了C语言中函数声明与定义的区别,强调了声明的作用是告知编译器存在,而定义则涉及内存分配。通过extern关键字进行程序单元声明,并通过实例说明了extern的使用。在C语言中,声明与定义是两个不同的概念,错误的声明可能导致类型不匹配的问题。此外,还探讨了面向过程编程的思想及其在C语言中的体现。
摘要由CSDN通过智能技术生成

函数声明与定义:
(1)声明的意义在于告诉编译器程序单元的存在
(2)定义则明确指示程序单元的意义 (伴随着内存分配)
(3)C语言中通过extern进行程序单元的声明
(4)一些程序单元在声明时可以省略extern (extern int g_var) (extern(可省略) struct Test)
(5)声明和定义并不相同

实例分析:声明和定义不同

extern int g_var;
extern struct Test;  //extern可以省略

int main()
{
	extern void f(int i, int j);

	struct Test* p = NULL;  //正确
	struct Test* p = (struct Test*)malloc(sizeof(struct Test));  //错误,struct Test定义在其他文件,这里只是声明,C语言编译文件之间不会相互依赖

	printf("g_var = %d\n", g_var);  //如果定义处的变量和声明出变量类型不一样,那么C语言将会一声明处的类型方式读取定义处的类型写入的数据(float和int类型变量的二进制存储方式不同)

}

小结:
(1)函数是面向过程思想在C语言中的体现
(2)面向过程是由上至下分解问题的设计方法
(3)程序中的定义和声明完全不同
(4)C语言中通过extern对程序单元进行声明

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值