【C语言】第五章 函数

本文详细探讨了C语言中的函数定义与调用,包括函数声明、形参与实参的值传递,以及如何通过const修饰数组参数防止修改。此外,还介绍了变量的存储类别,如自动变量、静态变量、寄存器变量和外部变量,并阐述了它们在内存中的分布和作用。最后,讨论了内部函数和外部函数的概念及其应用。
摘要由CSDN通过智能技术生成

该文章内容整理自《C程序设计(第四版)》、《高质量C编程指南》、以及网上各大博客

一个C程序有多个程序模块组成,每个程序模块作为一个源程序文件,一个源程序文件是一个编译单位

函数定义

函数声明(由函数首部,即函数原型表示):
类型名 函数(形参表列);
函数声明主要用于对函数调用的合法性进行检查。此时,参数名可以省略,也即可写为float add(float, float);。另外形参数组可以不指定大小,直接在后面添加方括号,而多维数组时可以省略第一维的大小,剩下的都不能省略。注意函数声明可以在函数外或者是函数内

函数调用:
函数名(实参表列)
实参向形参的数据传递是值传递,而用数组名作为函数实参时传递的是数组首元素的地址,要想禁止在函数调用时对数组进行修改,可以在形参声明处加上const。将数组作为参数传递给函数时,一种做法是传数组名加数组元素数量,即int func(int a[], int n),另一种做法是直接传数组头尾指针,即int func(int * begin, int * end)

函数定义:
类型名 函数(形参表列) {函数体}

变量存储

变量声明与定义的区别在于是否需要建立存储空间。内存中程序的存储空间可分为5部分:程序代码区(二进制代码)、全局/静态存储区(全局变量、static变量)、动态存储区(分为堆(malloc分配)和栈(局部变脸、形参、函数自动变量、函数调用时现场保护和返回地址等))、常量存储区&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值