美文网首页
【C语言笔记】<二十三>extern和static对

【C语言笔记】<二十三>extern和static对

作者: 大基本功 | 来源:发表于2018-05-16 09:46 被阅读9次
//  main.c
#include <stdio.h>
#include "zs.h"

//void demo();
/*
 函数也分为内部函数和外部函数
 默认情况下所有的函数都是外部函数
 什么是外部函数? 可以被其它文件访问的函数称之为外部函数
 什么是内部函数? 只能在当前文件中范文的函数称之为内部函数
 */
int main(int argc, const char * argv[]) {
    
    test();
//    demo();
    return 0;
}
//  zs.c
#include "zs.h"

// 声明内部函数一般用于内部函数定义在后面, 而想在定义之前使用内部函数
static void demo();

// 只要在函数的返回值前面加上一个extern就可以让函数变为一个外部函数, 由于默认就是外部函数, 所以在开发中一般情况extern没人写
// 如果extern写在函数的实现中, 代表定义一个外部函数
// 如果extern写在函数的声明中, 代表声明一个外部函数
extern void test()
{
    printf("test printf\n");
    demo();
}

// 只要在函数的返回值前面加上static就可以让函数变为内部函数, 其它文件就不能访问了
// 如果static写在函数的实现中, 代表定义一个内部函数
// 如果static写在函数的声明中, 代表声明一个内部函数
static void demo()
{
    printf("demo printf\n");
}
//  zs.h
extern void test();

// 在.h中声明一个内部函数没有任何意义
//static void demo();

相关文章

网友评论

      本文标题:【C语言笔记】<二十三>extern和static对

      本文链接:https://www.haomeiwen.com/subject/iwlddftx.html