C++ 变量和复合类型

您所在的位置:网站首页 复合数据类型变量包括 C++ 变量和复合类型

C++ 变量和复合类型

2023-07-30 00:29| 来源: 网络整理| 查看: 265

前面说了C++的基本数据类型,下面来看看在C++中如何定义变量和常量。

变量 定义和初始化

C++定义变量的方式和C语言一样,也可以在定义的同时初始化。值得一提的是列表初始化,在原来的C++版本中可以用于初始化数组等。C++ 11标准增加了更广泛的列表初始化,所以可以用列表初始化来初始化单个变量。

//定义变量 int a; //定义并初始化 int b = 1; //同时定义多个变量 int c = 5, d = 6; //C++ 11 新特性:列表初始化 int e{3};

列表初始化有一个限制,如果要初始化的值超过了可容纳的范围,就会引发编译错误,而直接赋值就可以。

//不能编译 //short s{3.1415}; //可以编译 short s = 3.1415;

对于函数内部的局部变量来说,如果不初始化的话,值是未定义的。对于未初始化的局部变量进行操作可能导致无法预料的后果。对于全局变量,如果没有给定初始值,默认值是0。

定义和声明变量

变量定义告诉编译器,我要创建一个变量,以后再用它。而变量声明告诉编译器,我要引用一个变量,所以你先按照这个变量的类型和名字去找它。声明变量需要使用extern关键字,而且声明的时候不能赋值。如果使用extern关键字并赋值,那么变量声明就变成了变量定义,而且这只能用于全局变量的声明和定义。如果对一个函数内部的本地变量声明添加初始化式,就会引发编译错误。

//定义了一个全局变量 int global_count; //声明在另一个文件中定义的全局变量 extern int global_count; 标识符

标识符也就是变量、函数、类的名字,用于标识不同的对象。和大多数编程语言一样,C++的标识符需要以字母或下划线开头,有数组、字母和下划线组成,而且对大小写敏感。

作用域

如果一个标识符定义在花括号外面,那么这个标识符的作用域就是全局作用域。全局作用域的变量可以在本文件的任何地方访问,如果在其他文件中声明这个标识符,那么还可以在其他文件中访问。

如果一个标识符在某对花括号中定义,那么这个标识符的作用域就在这对花括号中,这就是局部作用域。局部作用域的标识符在超出这个块后,就无法被访问了。如果有一个全局变量,然后在某个作用域中又定义了一个同名变量,那么这个局部变量就会屏蔽对全局变量的访问。如果希望访问全局变量,需要使用域操作符::来指定。

//声明在另一个文件中定义的全局变量 extern int global_count; void declare_and_define() { cout


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3