C++ 中的变量定义
变量定义 :告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:
type variable_list;
在这里,type 必须是一个有效的 C++ 数据类型,可以是 char、wchar_t、int、float、double、bool 或任何用户自定义的对象,variable_list 可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。
下面列出几个变量定义:
# 定义
/* 数据类型 标识符名称 */
/* type variable_list; */
int i, j, k; // int i, j, k; 声明并定义了变量 i、j 和 k ,这指示编译器创建类型为 int 的名为 i、j、k 的变量
char c, ch;
float f, salary;
double d;
初始化(指定一个初始值)。初始化器由一个等号,后跟一个常量表达式组成
int d = 3, f = 5; // 定义并初始化 d 和 f
byte z = 22; // 定义并初始化 z
char x = 'x'; // 变量 x 的值为 'x'
C++ 中的变量声明
变量声明向编译器保证变量以给定的类型和名称存在,这样编译器在不需要知道变量完整细节的情况下也能继续进一步的编译。变量声明只在编译时有它的意义,在程序连接时编译器需要实际的变量声明。
使用多个文件且只在其中一个文件中定义变量时(定义变量的文件在程序连接时是可用的),变量声明就显得非常有用。
可以使用 extern 关键字在任何地方声明一个变量。虽然您可以在 C++ 程序中多次声明一个变量,但变量只能在某个文件、函数或代码块中被定义一次。
变量在头部就已经被声明,但它们是在主函数内被定义和初始化的
//--变量声明--//
extern int a,b;
extern int c;
extern float f;
int main(int argc, const char * argv[]) {
//---变量定义---//
int a,b;
int c;
float f;
//---实际变量---//
a = 10;
b = 20;
c = a+b;
std::cout << c << std::endl;
f = 70.0/3.0;
std::cout << f << std::endl;
return 0;
}
函数声明
在函数声明时,提供一个函数名,而函数的实际定义则可以在任何地方进行。
//--函数声明--//
int func();
int main(int argc, const char * argv[]) {
//--函数调用--//
int a = func();
std::cout << a << std::endl;
return 0;
}
//--函数定义--//
int func()
{
return 1;
}
C++ 中的左值(Lvalues)和右值(Rvalues)
C++ 中有两种类型的表达式:
左值(lvalue)
指向内存位置的表达式被称为左值(lvalue)表达式。左值可以出现在赋值号的左边或右边。
右值(rvalue)
术语右值(rvalue)指的是存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
int g = 20;
网友评论