C语言中:static与extern对变量和函数的作用
1.两者对全局变量
- static对全局变量,表示定义一个内部变量
- extern对全局变量,表示声明一个外部变量
说明:
- 1.内部变量:定义的变量只能在本文件中访问,不能被其他文件访问。
- 2.不同文件中的同名的内部变量互不影响。
- 3.外部变量:是指定义的变量可被同一工程中其他文件所访问,
- 4.默认情况下,所有的全局变量都是外部变量
- 5.同一工程项目中,不同文件中的同名的外部变量,代表着同一变量,指向内存中同一内存。
2.两者对函数作用
- static对函数作用:表示定义和声明一个内部函数
- extern对函数作用:表示定义和声明一个外部函数。(可省略extern,因为默认是extern)
3.补充:static对局部变量:static对局部变量的作用于其对全局变量的作用不同。
- 1.static修饰局部变量时,是延长局部变量的声明周期,程序结束的时候,该局部变量才会被销毁。
- 2.static并没有改变局部变量的作用域。
C语言中:static与extern对变量和函数的作用的更多相关文章
- c语言中static、extern、void的重载
static: 1.在函数内部,表示该变量的值在各个调用间一直保持延续性: 2.在函数这一级,表示该函数只对本文件可见. extern: 1.用于函数定义,表示全局可见(属于冗余的): ...
- C语言中static变量详解
Static翻译出来是“静态”“静止”的意思,在C语言中的意思其实和它的本意差不多,表示“静态”或者“全局”的意思,用来修饰变量和函数.经static修饰过后的变量或者函数的作用域或者存储域会发生变化 ...
- C语言中static的作用及C语言中使用静态函数有何好处
转自:http://www.jb51.net/article/74830.htm 在C语言中,static的作用有三条:一是隐藏功能,二是保持持久性功能,三是默认初始化为0. 在C语言中,static ...
- C语言中static的使用方法【转】
本文转自:http://blog.csdn.net/renren900207/article/details/21609649 全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量 ...
- c语言中static 函数和普通函数的区别
C程序一直由下列部分组成: 1)正文段——CPU执行的机器指令部分:一个程序只有一个副本:只读,防止程序由于意外事故而修改自身指令: 2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放 ...
- C语言中static用法介绍
C语言中static用法介绍 对于新手来说,很多东西的用法还不是很清楚,我们今天一起来看看C语言中static用法介绍 1.声明了static的变量称为静态变量,根据作用域的不同又分为 ...
- C语言中,数组名作为参数传递给函数时,退化为指针
C语言中,数组名作为参数传递给函数时,退化为指针 C语言中,数组名作为参数传递给函数时,退化为指针:需要数组大小时, 需要一个参数传数组名,另一个传数组大小. 数组名做函数参数时,就相当于指针了. ...
- C语言中static extern的使用
10:30:22 2019-08-20 基础不牢 瞬间爆炸 参考资料:https://blog.csdn.net/ts_54eagle/article/details/4418627 https:// ...
- C语言中static关键字的作用
static的作用(精辟分析) 在C语言中,static的字面意思很容易把我们导入歧途,其实它的作用有三条. (1)先来介绍它的第一条也是最重要的一条:隐藏. 当我们同时编译多个文件时,所有未加sta ...
随机推荐
- 公共的service接口
package com.taotao.manager.service; import java.util.List; /** * @author Administrator * * @param &l ...
- JQuery Deferred 对象
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html <jQu ...
- gerrit管理下的git代码提交小技巧
1.提交代码git checkout targetbranch 切换至目标分支git pull origin targetbranch 拉取目标分支最新内容git add 修改文件git commit ...
- Centos查公网IP地址
[root@syy ~]# curl icanhazip.com 115.29.208.111
- 使用Loadrunner对IBM MQ进行性能测试
一.概述 使用Loadrunner对IBM MQ进行性能测试,需要用到java vuser以及java编码知识.此次先介绍什么是IBM MQ,然后java vuser的使用与配置细节, ...
- Java Http协议处理类
public class HttpRequest { public static String doGet(String url,String params) throws Exception{ re ...
- 移动端300ms延迟由来及解决方案
1.300ms延迟由来 300 毫秒延迟的主要原因是解决双击缩放(double tap to zoom).双击缩放,顾名思义,即用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会将网页 ...
- Microsoft translater
professional tranlater tool : https://translator.microsoft.com/neural/
- 解疑网络监控卡壳 视觉体验400ms延时
http://security.zol.com.cn/413/4130220.html 我的眼睛可以轻松判断出400ms延时误差,你可以吗?很多用户都反映手机移动监控.PC远程监控视频会卡顿,抛开设备 ...
- Windows-universal-samples学习笔记系列四:Data
Data Blobs Compression Content indexer Form validation (HTML) IndexedDB Logging Serializing and dese ...