17)C语言之static与函数

Posted 流浪孤儿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了17)C语言之static与函数相关的知识,希望对你有一定的参考价值。

在VS2017下创建一个工程,并创建两个文件,如图

 text8_6_14.c中

#define _CRT_SECURE_NO_WARNINGS 1

#include<stdio.h>

extern int Add1();//extern声明外部函数,Add1函数定义在text9_6_14.c中

extern int Add2();//1在text9_6_14.c里用了static定义了这个函数

int main()

{

    int a = 10;

    int b = 20;

    printf("%d\\n", Add1(a, b));

    //printf("%d\\n", Add2(a, b));会被报错,调用不了这个函数,即使你在这个文件里声明了它

    return 0;

}

Text9_6_14.c中

#define _CRT_SECURE_NO_WARNINGS 1

int Add1(int a, int b)

{

    return a + b;

}

static int Add2(int a, int b)//static修饰的函数会改变函数的链接属性

//将其外部链接属性改为了内部链接属性

{

    return a + b;

}

18)C语言之#define预处理

以上是关于17)C语言之static与函数的主要内容,如果未能解决你的问题,请参考以下文章

C语言中,其他文件可否调用文件中的static函数?

C语言进阶篇之函数&内存分布

C语言之函数调用17—递归法之中的一个般函数的调用

static在c语言中是啥意思

c语言的auto和static类型变量

static关键字