资讯动态

c语言函数部分

发布时间:2026/10/27 1:49:38 来源:尧图企业网站定制
一、函数给⼀个“参数”最终经过⼀系列“步骤”得到⼀个“结果”。整个过程 其实就是在完成⼀个任务或者特定的功能。1. 函数分类C语⾔中的函数⼤致分为2类库函数⾃定义函数2. 库函数2.1 标准库和头⽂件C标准库CStandardLibrary包含了⼀组头⽂件这些头⽂件提供了许多函数和宏⽤于处理输⼊ 输出、字符串操作、数学计算、内存管理等常⻅编程任务。C语⾔标准给出了⼀系列函数的实现这些函数就被称为库函数。#include stdio.h #include math.h int main() { double d 16.0; double r sqrt(d); printf(%lf\n, r); return 0; }3. ⾃定义函数库函数再多都不能满⾜程序员的特殊需求。这时候我们就得⾃⼰定义函数。3.1 函数的语法形式 其实⾃定义函数和库函数是⼀样的形式如下ret_type fun_name(形式参数) { }ret_type 是函数返回类型fun_name 是函数名括号中放的是形式参数{}括起来的是函数体int add(int a,int b) { printf(函数被调用了\n); int ret a b; return ret; }定义函数int aint b 为形式参数int main() { int x 1; int y 2; int key add(x,y); printf(%d\n,key); return 0; }x,y 为实际参数。实参的值给到了形参匹配规则1.参数的个数顺序类型都要匹配2.调用参数之后返回值类型要匹配3.4 函数声明写代码时尽量将函数写在main函数上面写在下面的话要在上面进行声明main函数中的自变量和函数中的自变量名称可以一样在内存中main函数和定义的函数各自占一块栈区变量在不同栈区4.实参和形参4.1 关系形参和实参是2个不同的空间实参把值传递给了形参形参是实参的⼀份临时拷贝5.嵌套调用和链式访问int fac(int n) { int ret 1; for (int i 1; i n; i) { ret * i; } return ret; } int fac_sum(int n) { int sum 0; for (int i 1; i n; i) { // 这⾥就是嵌套调⽤ sum fac(i); } return sum; } int main() { int n fac_sum(5); printf(%d\n, n); return 0; }链式访问所谓链式访问就是将⼀个函数的返回值作为另外⼀个函数的参数像链条⼀样将函数串起来就是函数 的链式访问。7. static 和externstatic 和 extern 都是C语⾔中的关键字。static 是 静态的的意思可以⽤来:修饰局部变量 修饰全局变量 修饰函数 extern 是⽤来声明外部符号的。作⽤域scope是程序设计概念通常来说⼀段程序代码中所⽤到的名字并不总是有效可⽤ 的⽽限定这个名字的可⽤性的代码范围就是这个名字的作⽤域。1. 局部变量的作⽤域是变量所在的局部范围。2. 全局变量的作⽤域是整个⼯程项⽬。⽣命周期指的是变量的创建(申请内存)到变量的销毁(收回内存)之间的⼀个时间段。1. 局部变量的⽣命周期是进⼊作⽤域变量创建⽣命周期开始出作⽤域⽣命周期结束。2. 全局变量的⽣命周期是整个程序的⽣命周期。extern 是⽤来声明外部符号的如果⼀个全局的符号在A⽂件中定义的在B⽂件中想使⽤就可以使用extern来声明⼀个全局变量被static修饰使得这个全局变量只能在本源⽂件内使⽤不能在其他源⽂件内使⽤如果⼀个全局变量只想在所在的源⽂件内部使⽤不想被其他⽂件发现就可以使⽤ static 修饰1. 使⽤双引号时编译器会按照以下顺序查找头⽂件 a. 当前⽬录⾸先在包含此 #include 指令的源⽂件所在的⽬录中查找。b. 系统⽬录如果在当前⽬录中没有找到该⽂件编译器会接着到系统指定的标准包含⽬录中查 找这个过程和使⽤尖括号⼀样。c. 使⽤场景通常⽤于包含项⽬⾃定义的头⽂件。因为这些头⽂件通常与源⽂件存放在同⼀个项 ⽬⽬录或其⼦⽬录中。2. 使⽤尖括号时编译器只会在系统指定的标准包含⽬录中查找头⽂件。它不会在源⽂件所在的当前 ⽬录中查找

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑