网站建设模板源码网站建设课程设计实训报告
news/
2025/9/22 16:59:53/
文章来源:
网站建设模板源码,网站建设课程设计实训报告,网站建设玖金手指谷哥四,wordpress meta 排序提示#xff1a;文章写完后#xff0c;目录可以自动生成#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、作用域是什么#xff1f;二、作用域类别1.全局作用域#xff08;global scope#xff09;2.名字空间作用域#xff08;namespace scope#xff09;3.局… 提示文章写完后目录可以自动生成如何生成可参考右边的帮助文档 文章目录 前言一、作用域是什么二、作用域类别1.全局作用域global scope2.名字空间作用域namespace scope3.局部作用域local scope4.类作用域class scope5.语句作用域statement scope 三、复杂情况总结 前言
写C离不开一个重要的概念那就是作用域作用域是C语言非常重要的一个概念接下来我们就一起看看C的作用域。 一、作用域是什么
C 中的作用域scope指的是变量、函数或其他标识符的可见和可访问的范围。
二、作用域类别
C有5种作用域具体详见下面。
1.全局作用域global scope
除非名字定义在一个语言结构中比如一个类或函数否则就是全局作用域。其实全局作用域概念应该放在最下面更容易理解只要不是其它4种作用域就是全局作用域这下通俗易懂了吧
示例
#include iostreamint a 0;int main(){
}上面的变量a所在的作用域就是全局作用域。
2.名字空间作用域namespace scope
定义在名字空间中的名字且不在某个语言结构中比如一个类或函数就是名字空间作用域。这里特别注意下不在某个语言结构中这句话如果在呢那就是别的作用域了
示例
#include iostreamnamespace WebCore {int a 0;
}int main() {std::cout Hello, World! std::endl;std::cout a: WebCore::a std::endl;return 0;
}上面的a所在的作用域就是名字空间作用域。
3.局部作用域local scope
如果名字在一个函数内声明包括函数的参数则它的作用域就是局部作用域。这里需要特别注意的是函数自己的参数也是局部作用域和内部定义的名字一样。
示例
#include iostreamvoid test(int a) {int b 0;
}int main() {std::cout Hello, World! std::endl;return 0;
}上面的函数test里面的a和b所在的作用域都是局部作用域。
4.类作用域class scope
如果名字是类的一个成员则它的作用域是为类作用域。这个应该接触的太多了类里面定义的成员字段和成员函数都是类作用域。
示例
#include iostreamclass Demo {
private:int a;
public:void print() {}
};int main() {std::cout Hello, World! std::endl;return 0;
}类Demo的私有成员a和公有成员print都是类作用域只不过print这个名字可能不是好名字大家不要这么命名。
5.语句作用域statement scope
名字声明在一个for、while、switch或if语句中的作用域就是语句作用域。 示例
#include iostreamint main() {std::cout Hello, World! std::endl;if (true){int a 0;}return 0;
}这句写的很lowif语句必然执行当然这只是演示不要太较真。a的作用域就是语句作用域我们的目的达到了。
三、复杂情况
接着上面的说如果一个名字即在名字空间中又在函数中又在语句中它属于哪种作用域 示例
#include iostreamint a;//全局作用域namespace WebCore {class Demo {private:int a;//类作用域public:void print() {}//类作用域};int a 0;//名字空间作用域void test(int a) {//局部作用域int b a;//局部作用域if (a) {int a 0;//语句作用域}}
}int main() {std::cout Hello, World! std::endl;return 0;
}定义了一堆的a这或许不是好的命名方式但是一个好的演示方式。 总结
1、学好C作用域必须理解透彻这样才能用好 2、C比C多了两个作用域名字空间作用域和类作用域
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909724.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!