---
# System prepended metadata

title: 變數、宣告與定義
tags: [教學內文]

---

---
tags: 教學內文
disqus: hackmd
---

# 變數、宣告與定義


變數是指在記憶體裡面，一個單位(按照**資料型態**決定)的記憶體的名稱，且用這個名稱可以隨時改變它存的值。

我用一個比喻來說，你的家是一個記憶體，房子內的物品都佔有一個空間，那個空間可能是你的冰箱，你隨時可以打開冰箱從裡面拿肥宅快樂水出來，裡面的可樂就少一瓶。

我示範在C++裡面要如何使用變數
所以我們先貼上開頭的程式碼。
```cpp=
#include<iostream>
using namespace std;
int main()
{
    int a;
return 0;
}
```
如果需要用一個變數，需要做**宣告**的動作，告訴系統，我需要一個空間當變數，
這是語法的規定。

**宣告**後，系統會配給你記憶體，但這時裡面不會儲存任何東西，如果你直接輸出它的值，系統會隨便猜一個數字輸出給你。

所以還要做**定義**的動作
變數的定義泛指給定變數一個值。
我先示範幾種方式。

```cpp
int a;
a=10;
```
宣告定義分離型。

```cpp
int a=10;
```
宣告定義結合型，又稱**初始化**。

```cpp
int a;
cin>>a;
```
輸入當定義型。
再示範各種宣告和定義的方法。
```cpp
int a,b,c;
a=10;
b=a;
c=5;
```
```cpp
int a=10,b=a,c=5;
```
示範一個會出奇怪結果的
```cpp
int a,b,c;
b=a;
c=5;
```











