本文主要介绍C++ 中,定义声明变量、声明多个变量、变量名及命名规则,以及相关的示例代码。

1、变量类型

变量其实通过一个标记调用内存中的值,而变量名就是这个标记的名称,但是万一这个标记已经被提前占用或者解释器认为这个标记是不合法的,那么就会报错。

在C++中,有不同类型的变量,例如:

类型

描述

bool

存储值 true 或 false。

char

通常是一个字符(八位)。这是一个整数类型。

int

对机器而言,整数的最自然的大小。

float

单精度浮点值。单精度是这样的格式,1位符号,8位指数,23位小数。

double

双精度浮点值。双精度是1位符号,11位指数,52位小数。

void

表示类型的缺失。

wchar_t

宽字符类型。

2、定义声明变量

要创建变量,必须指定类型并为其分配值:

type variable = value;

在这里,type 必须是一个有效的 C 数据类型,可以是 charw_charintfloatdouble 或任何用户自定义的对象,也可以由一个或多个标识符名称组成,多个标识符之间用逗号分隔。下面列出几个有效的声明:

#include <iostream>
using namespace std;
extern int a,b;
extern int c;
extern float f;
int main () {
   int a,b;
   int c = -1;
   float f;
   a = 10;
   b = 20;
   c = a + b;
   printf("value of c : %d \n",c);
   f = 70.0/3.0;
   printf("value of f : %f \n",f);
   return 0;
}

可以在不分配值的情况下声明变量,然后在以后分配值:

int    i, j, k;
char   c, ch;
float  f, money;
double d;

3、变量名及命名规则

变量名的开头不能是数字,可以由字母或下划线开头。但,实际上编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。

随便打开一个头文件就会看到,它里面所有的变量名、宏名、函数名全是以下划线开始的。

所以为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则永远都不要使用下划线作为一个变量名的开头。

变量名以字母 A-Za-z 或下划线 _ 开头,后跟零个或多个字母、下划线和数字(0-9)。

变量名内不允许出现标点字符,比如 @$%。C 是区分大小写的编程语言。例如,Cjavapycjavapy 是两个不同的标识符。

4、局部变量

局部变量是定义在函数体内部的变量,作用域仅限于函数体内部。离开函数体就会无效。再调用就是出错。

例如,

#include <iostream>
using namespace std;
int main(){
    int n = 30;  //局部变量
    //代码块由{}包围
    {
        int n = 40;  //局部变量
        printf("block n: %d\n", n);
    }
    printf("main n: %d\n", n);
    return 0;
}

5、全局变量

全局变量是定义在所有的函数外部定义的变量,它的作用域是整个程序,也就是所有的源文件。

#include <iostream>
using namespace std;
int n = 10;  //全局变量
void func1(){
    int n = 20;  //局部变量
    printf("func1 n: %d\n", n);
}
void func2(int n){
    printf("func2 n: %d\n", n);
}
void func3(){
    printf("func3 n: %d\n", n);
}
int main(){
    int n = 30;  //局部变量
    func1();
    func2(n);
    func3();
    //代码块由{}包围
    {
        int n = 40;  //局部变量
        printf("block n: %d\n", n);
    }
    printf("main n: %d\n", n);
    return 0;
}

推荐文档