题头的话:长按点赞可私我赠送50+本C与C++书籍电子书资源
C++的变量定义举例
#include<iostream>
using namespace std;
int main()
{
struct student
{
int no;
float math;
};
int n;
cin>>n;
student wang;
//C++中变量的定义语句可以出想在程序中的任意位置;可以使用结构体名定义变量。
wang.no=n;
cin>>wang.math;
cout<<wang.no<<" "<<endl;
}
相较于C语言,C++在变量定义方面做了两种较大的改变。一是允许变量定义语句出现在程序任何位置;二是允许直接使用结构体名定义变量。类似的,在C++语言中联合名,枚举名,也可以在定义后独立的作为类型名使用。而C语言中,局部变量说明必须置于可执行代码段之前,不允许局部变量声明和可执行代码混在一起。
作用域运算符
同名的局部变量比全局变量有更高的优先级。
C语言中,只能在变量的作用域内使用该变量,不能使用其他作用域中的变量:
#include<iostream>
using namespace std;
float a=2.4 //全局变量
int main()
{
int=8; //局部变量
cout<<a<<endl;
}
程序中有两个变量a:局部变量和全局变量。
如果想在主函数中输出全局变量,那就需要作用域运算符::,他能指定所需的作用域。即:
#include<iostream>
using namespace std;
float a=2.4 //全局变量
int main()
{
int=8; //局部变量
cout<<a<<endl;
cout<<::a<<endl;//::a表示全局作用域中的变量a
}
程序运行结果为
8
2.4
注意 :不能用::访问函数中的局部变量。在C++中作用域运算符还用来限定类的成员
引用
引用的基本操作
引用的本质就是懒人版指针,超好用
作用:
给变量起小名
就好像喊努尔哈赤“野猪皮”的小名一样,都是在称呼同一个人
语法:
数据类型&小名=原名;
例如:
#include <iostream>
using namespace std;
int main()
{
int a=10;
//int &b; 错误,引用必须初始化!我们不能创建一个引用,但不说明它的主子是谁。
int &b=a;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
b=100;
cout<<"a="<<a<<endl;
cout<<"b="<<b<<endl;
int c=200;
b=c; //这只是一个赋值,而不是更改引用。
cout<<"a="<<a<<