C++变量定义和赋值
C++是“静态类型(statically typed)语言”,含义:在编译阶段检查类型,检查类型的过程称为类型检查(type checking)
动态类型语言(如python,JavaScript):在运行时才检查类型。
#include <iostream>
using namespace std;
/*
变量定义和赋值:
变量类型说明符 + 变量名
多个变量名用逗号分隔,结尾分号。
变量赋初值:
double price = 109.99, discount = price * 0.16;
double salePrice = applyDiscount(price, discount);
初始化和赋值的区别:
初始化:创建变量,并且赋予一个初始值
赋值:把变量的当前值擦除,用一个新的值来代替
C++ 支持分离式编译机制(separate compilation),允许将程序分割成若干个文件,每个文件都可以独立编译。
为了支持分离式编译,C++将“声明”和“定义”区分开来。
变量的声明和定义:
声明:规定了变量的名字和类型,程序知道了这个变量的存在
定义:不仅声明了,而且申请了存储空间,还可能被赋予了初值(负责创建与名字关联的实体)。
(变量只能定义一次,声明可以多次)
extern int i; // extern关键字,声明了外部定义的变量
int j; // 定义
特例:
extern int i = 1; // 如果赋初值,则变成了定义
C++是“静态类型(statically typed)语言”,含义:在编译阶段检查类型,检查类型的过程称为类型检查(type checking)
*/
int variable() {
cout << "变量赋值练习。" << endl;
int sum = 0, value,
units_sold = 0;
// 用到类库string
std::string book("0-201-78345-X");
value = 12.34;
cout << "value: " << value << endl;
cout << "book: " << book << endl;
double applyDiscount(double price, double discount);
double salePrice = applyDiscount(99, 0.16);
cout << "salePrice: " << salePrice << endl;
int a = 1, b = { 2 }, c{ 3 }, d(4); // 四种赋初值的方式
cout << "abcd: " << a << "," << b << "," << c << "," << d << endl;
return 0;
}
double applyDiscount(double price, double discount) {
return price * discount;
}