C/C++中链接属性
标识符的链接属性决定处理在不同文件中出现的标识符,一共分三种-none(无)、external(外部)和 internal(内部)。
- none:函数形式参数和代码块内声明的变量在缺省情况下具有none链接属性 。
- external:并非声明于代码块内的变量,缺省情况下具有external链接属性,(函数名也不包含于任何代码块)。
- internal:缺省情况下,除了上述说明的external属性以外,其余均为none。因此internal属性出现在static修饰之后。
注意:
- 具有external链接属性的变量(或函数名)具有全局可见性,对于变量,在声明前加extern表示引用文件A中的对应变量,函数则可以直接使用。
- 非external链接的变量前加static,将不会改变链接属性,也就是static对none无效
例一:
int x;
int func(int a){int y;extern int c;
}
x、func为external,a、y为none
例二:
static int x;
static int func(int a){int y;
}
在static修饰下,x、func都为internal,a、y为none
例三:
文件A
#include <stdio.h>
int x=0;
void print(void) {printf("Hello World!\n"); return 0;
}
x、print有external
文件B
#include<stdio.h>
int main(){extern int x;print();return 0;
}
这里print()可以直接使用,extern int x声明变量之后也可使用
原文链接:https://blog.csdn.net/peisir/article/details/54799662
C/C++中链接属性相关推荐
- c语言之函数存储属性,C语言:链接属性与存储类型
一. 链接属性 C语言中链接属性决定如何处理在不同文件中出现的标示符.标示符的作用域与它的链接属性有关,但这两个属性并不相同. 链接属性有3种: external(外部),internal(内部) 和 ...
- C语言中变量的链接属性
当组成一个程序的各个源文件分别被编译之后,所有的目标文件以及那些从一个或多个函数库中引用的函数链接在一起,形成可执行程序.如果相同的标识符出现在几个不同的源文件中时,它们是表示同一个变量还是不同的变量 ...
- CSS 使用 a 标签的 mailto 属性在网页中链接 Email 地址(琐碎知识点整理)
之前有整理过一部分知识点, 一直没有发布, 因为都是有关 前端 方面的零散内容; 现在想想无论分享什么内容都需要慢慢积累, 所以还是决定将之前整理的相关内容验证之后慢慢分享给大家 这个专题 就是 工作 ...
- python类中的属性分为类属性和实例属性两种_python中类和实例如何绑定属性与方法示例详解...
前言 python类与实例的方法的调用中觉得云里雾里,思考之后将自己的想法记录下,一来加深自己理解,巩固自己记忆,而来帮助一些想要学习python的朋友理解这门抽象的语言,由于Python是动态语言, ...
- C语言作用域、链接属性和存储类型
C/C++中作用域详解 作用域 编译器可以确认的4种作用域-代码块作用域.文件作用域.函数作用域和原型作用域,一般来说,标识符(包括变量名和函数名)声明的位置决定它的作用域. (1)代码块作用域 一对 ...
- const、static、内部链接属性和外部链接属性整理
2019独角兽企业重金招聘Python工程师标准>>> 说起const.static.以及#define大家都知道,我一直以为我也是知道的,昨天一同学说他面试时被问到#define定 ...
- 在Asp.Net MVC中实现RequiredIf标签对Model中的属性进行验证
在Asp.Net MVC中可以用继承ValidationAttribute的方式,自定制实现RequiredIf标签对Model中的属性进行验证 具体场景为:某一属性是否允许为null的验证,要根据另 ...
- 【 C 】作用域、链接属性、存储类型、static 关键字简介及总结
目录 作用域 代码块作用域 文件作用域 原型作用域 函数作用域 链接属性 存储类型 总结 作用域 当变量在程序中的某个部分被声明时,它只有在程序的一定区域才能被访问.这个区域由标识符的作用域(scop ...
- html的meta总结,html标签中meta属性使用介绍和 动态替换字符串
http://www.haorooms.com/post/html_meta_ds http://www.haorooms.com/archives里面的东西比较多,需要细看一下 http://www ...
最新文章
- python使用界面-python 可视化界面
- 看了两篇园子里的文章,初步懂了点接口的涵义
- 全局配置文件:mybatis-config.xml
- Spring Security基于角色的权限管理
- JVM001_类文件结构
- python end of statement_17个新手常见Python运行时错误
- c++ 表达式必须包含指向类的指针类型_C++:18const关键字(附常量指针、指针常量、常量指针常量)...
- for (var key in Obj)遍历JS对象/数组
- Python中执行系统命令常见的几种方法
- 【UVa11178】Morley's Theorem(向量旋转+直线交点)
- 数据库系统概论思维导图
- 远程操作工具 Teamviewer
- 校园宽带破解---解救断网之际
- iframe使用方法
- 短信平台系统 后台功能简介 网页版短信通道介绍 短信平台源代码搭建
- 美团Android开发工程师岗位职能要求,薪资翻倍
- 你的计算机无法连接到远程计算机,因为远程桌面网关服务器暂时不可用。
- 遥感中相关光谱指数归纳
- 28岁自学Python转行靠谱吗?入行晚吗?
- mysql dbms是什么_数据库管理系统(DBMS)是用来做什么的?
热门文章
- python能够做什么软件-python爬虫软件有哪些做的比较好的?
- python导入excel数据-如何把python中的数据导入excel
- python好找工作吗2017-2017学什么编程语言好找工作?
- python电脑下载什么软件好-Python工具 | 4个好用的开源 Python 下载器
- python基础教学视频-Python基础教程(附教学视频)
- python基本语法规则-python基础知识——基本语法
- python入门到精通需要学多久-python学习从入门到精通要多久
- python入门基础代码图-python入门基础知识(代码)
- python小项目实例流程-python实现的简单RPG游戏流程实例
- xml介绍与解析,及xml库包使用