C语言入门初阶基础一有哪些详细讲解?
- 内容介绍
- 文章标签
- 相关推荐
本文共计3286个文字,预计阅读时间需要14分钟。
1. 名称空白+目的:解决C语言的缺陷,命名冲突。
1.命名空间
目的:解决c语言的缺陷,命名冲突。
#include<stdio.h>
int rand=0;
int main()
{
printf("%d",rand);
}
上面这段程序是可以运行的
但是!
#include<stdio.h>
#include<stdlib.h>
int rand=0;
int main()
{
printf("%d",rand);
}
那么上面的代码就会报错。因为stdlib.h 那么包含了rand这个函数 ,我们重新定义rand 那么出现报错。命名被重复定义了。
1.1命名空间定义一个域
关键字 namespace +空间名
namespace std
// namespace name
{
string a="zhangsan";
}
1.2访问全局域和命名空间作用域
//全局域
int a=0;
//命名空间
namespace bit
{
int a=1;
}
//局部域
int main()
{
int a=2;
printf("%d\n",::a); //访问的全局域
printf("%d\n",a); //访问局部域2
printf("%d\n",bit::a); //访问命名空间
}
变量搜索顺序:局部域→全局域→展开命名空间or指定访问命名空间域。
本文共计3286个文字,预计阅读时间需要14分钟。
1. 名称空白+目的:解决C语言的缺陷,命名冲突。
1.命名空间
目的:解决c语言的缺陷,命名冲突。
#include<stdio.h>
int rand=0;
int main()
{
printf("%d",rand);
}
上面这段程序是可以运行的
但是!
#include<stdio.h>
#include<stdlib.h>
int rand=0;
int main()
{
printf("%d",rand);
}
那么上面的代码就会报错。因为stdlib.h 那么包含了rand这个函数 ,我们重新定义rand 那么出现报错。命名被重复定义了。
1.1命名空间定义一个域
关键字 namespace +空间名
namespace std
// namespace name
{
string a="zhangsan";
}
1.2访问全局域和命名空间作用域
//全局域
int a=0;
//命名空间
namespace bit
{
int a=1;
}
//局部域
int main()
{
int a=2;
printf("%d\n",::a); //访问的全局域
printf("%d\n",a); //访问局部域2
printf("%d\n",bit::a); //访问命名空间
}
变量搜索顺序:局部域→全局域→展开命名空间or指定访问命名空间域。

