函数的基本知识

函数的基本知识typefun name 形参 即函数类型函数名 形参 函数返回类型从广义有两种 viod 表示什么都不用返回

大家好,欢迎来到IT知识分享网。

函数

1.函数概念

函数:C语言中函数是完成某项特定任务的小代码。

2.库函数

2.1标准库和头文件

 C语⾔标准中规定了C语⾔的各种语法规则,C语⾔并不提供库函数, 

3.自定义函数

3.1函数语法形式

type fun-name( 形参) { } 即 函数类型 函数名 (形参) 

函数返回类型从广义有两种

  1. viod 表示 什么都不用返回。
  2. 其他类型 int char int* 等等。

3.2函数举例

经典加法函数举例 (单片机经典点亮LED)

#include <stdio.h> int Add(int x, int y) { 
    return x + y; } int main() { 
    int a = 0; int b = 0; scanf("%d %d", &a, &b); int c = Add(a, b); printf("%d\n", c); return 0; } 

在这里插入图片描述

4. 形参和实参

4.1 实参

#include <stdio.h> int Add(int x, int y) { 
    return x + y; } int main() { 
    int a = 0; int b = 0; scanf("%d %d", &a, &b); int c = Add(a, b); printf("%d\n", c); return 0; } 

传递给函数的参数a和b,称为实际参数,简称实参。实际参数就是真实传递给函数的参数

4.2 形参

4.3 实参和形参的关系

5. return 语句

6. 数组做函数参数

#include<stdio.h> void Printf(int arr[], int sz) { 
    int i = 0; for (i = 0; i < sz; i++) { 
    printf("arr[%d]=%d ", i, arr[i]); } } void Assign(int arr[], int sz) { 
    { 
    int i = 0; for (i = 0; i < sz; i++) { 
    arr[i] = 1;//把数组的每一个元素都赋值为1 } } } int main() { 
    int arr[5] = { 
    1,2,3,4,5 }; int sz = sizeof(arr) / sizeof(arr[0]); printf("未改变前的数组\n"); Printf(arr, sz); Assign(arr, sz);//重新对数组赋值 printf("\n"); printf("改变后的数组\n"); Printf(arr, sz); return 0; } 

函数的基本知识
上述 我写了两个函数

  1. 把数组中的所有元素都打印
  2. 把arr数组内所有元素改为1

7. 函数的声明和定义

函数的调用⼀定要满足,先声明后使用

7.1 单个⽂件

#include <stdio.h> int Add(int x, int y) { 
    return x + y; } int main() { 
    int a = 0; int b = 0; scanf("%d %d", &a, &b); int c = Add(a, b); printf("%d\n", c); return 0; } 
#include <stdio.h> int Add(int x, int y)//函数声明 要有“ ;” int main() { 
    int a = 0; int b = 0; scanf("%d %d", &a, &b); int c = Add(a, b); printf("%d\n", c); return 0; } int Add(int x, int y) //无“ ;” { 
    return x + y; } 

如果上述代码 没有第二行 编译器 会报错

7.3 static和extern

#include <stdio.h> void test() { 
    //static修饰局部变量 static int i = 0; i++; printf("%d ", i); } int main() { 
    int i = 0; for (i = 0; i < 5; i++) { 
    test(); } return 0; } 

在这里插入图片描述
可以发现 在 test 函数中 i 的值没有被覆盖 而是每次运行时 都存储了上一次的值 这是因为 static 修饰局部变量改变了变量的⽣命周期 只有程序结束,变量才销毁,内存才回收

⼀个全局变量被static修饰,使得这个全局变量只能在本源⽂件内使⽤,不能在其他源⽂件内使⽤

extern 是⽤来声明外部符号的,如果⼀个全局的符号在A⽂件中定义的,在B文件中想使用,就可以使用extern进⾏声明,然后使⽤。

小结

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/119700.html

(0)
上一篇 2025-11-03 17:26
下一篇 2025-11-03 17:45

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信