文档章节

第10天C语言(04):static和exetrn对函数-作用

lyh2017iOS
 lyh2017iOS
发布于 2017/07/07 09:59
字数 420
阅读 3
收藏 0

#pragma mark static和exetrn对函数-作用 ###pragma mark 概念

###pragma mark 代码 ####"main.c"

#include <stdio.h>
#include "zs.h"
//void demo();
/**
 函数也分为内部函数 和 外部函数
 默认情况下所有的函数都是外部函数
 什么是外部函数? 可以被其他文件访问的函数 称之为 外部函数
 什么是内部函数? 只能在当前文件中访问的函数 称之为 内部函数
 */
int main()
{
    text();
//    demo();
    return 0;
}

#####"zs.h"

void text ();

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

####"zs.c"

#include "zs.h"
// 定义内部函数 一般用于内部函数定义的后面,而想在定义之前使用内部函数
static void demo();

// 只要在函数的返回值前面加上一个extern就可以函数变成一个外部函数,由于默认就是外部函数.\
    所以在开发中一般情况extern没人写
// 如果extern写在函数的实现中(.c文件),代表定义一个外部函数
// 如果extern写在函数的声明中(.h),代表声明一个外部函数
extern void demo()
{
    printf("text\n");
    demo();
}
void text ()
{
    printf("text\n");
    demo(); // 如果需要使用在 前面声明一下
    
}
/**
 "_demo", referenced from:
 _main in main.o
 意思是 在main.o里面没有找到 demo这个函数
 */

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

© 著作权归作者所有

共有 人打赏支持
lyh2017iOS
粉丝 1
博文 357
码字总数 137380
作品 0
朝阳
私信 提问
二十、static和extern关键字2-对变量的作用

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 上一讲介绍了stati...

长平狐
2013/03/28
793
0
C语言关键---static

static 这个关键字,我感觉对很多初级程序源和刚接触程序的同学来说,可能都没有完全理解它的含义。至少对我来说对它的认识不是很清楚。因此对它在次总结一下。主要作为自己的备忘录。 1.st...

jackxu2015
2015/08/14
0
0
C语言基础-11-static和extern关键字1-对函数的作用

上一讲中大致介绍了变量的类型,不同类型的变量有不同的存储类型、不同的生命周期、不同的作用域。这讲介绍2个比较重要的关键字:static和extern。 static和extern不仅可以用在变量上,还可以...

Corwien
2016/03/16
24
0
十九、static和extern关键字1-对函数的作用

说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略 上一讲中大致介绍了...

长平狐
2013/03/28
1K
0
C语言基础-12-static和extern关键字2-对变量的作用

上一讲介绍了static和extern对函数的作用,static用来定义一个内部函数,不允许其他文件访问;extern用来定义和声明一个外部函数,允许其他文件访问。static和extern对变量也有作用,不过跟函...

Corwien
2016/03/16
26
0

没有更多内容

加载失败,请刷新页面

加载更多

大数据学习有哪几个步骤

目前大数据行业异常火爆,不少人都对大数据充满了兴趣,其中有大部分人都从没接触过大数据,对于应该如何学习大数据一头雾水。大数据学习并不是高深莫测的,虽然它并没有多简单,但是通过努力...

董黎明
18分钟前
4
0
shell习题_3

1:监控httpd的进程;每隔10s检测一次服务器的httpd的进程数,如果大于500则自动重启httpd服务;并检测是否启动成功; 如果没有正常启动还需要再启动一次,最大不成功数超过五次立即发邮件给管理...

芬野de博客
19分钟前
1
0
Android 9.0 优势探讨

我们来谈论一下 Android。尽管 Android 只是一款内核经过修改的 Linux,但经过多年的发展,Android 开发者们(或许包括正在阅读这篇文章的你)已经为这个平台的演变做出了很多值得称道的贡献...

问题终结者
35分钟前
4
0
vue 组件使用中的一些细节点

细节一 基础例子 运行结果: 以上大家都懂,这边就不多说,回到代码里,有时候我们需要 tbody 里面每一行是一个子组件,那我们代码可以怎么写呢?我们可以这样写,定义一个全局组件,如下: ...

peakedness丶
42分钟前
2
0
vue 之 css module的使用方法

动手之前先配置项目,网上很多文章说需要下载css-loader插件,Vue中的vue-loader已经集成了 CSS Modules,因此删掉也能正常运行 在vue.config.js中添加如下配置 `css: {``loaderOptions: ...

前端小攻略
46分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部