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;
}