一把梭系列 ~ C語言範例 (0005) [變數(Variable)+常數(Const) 分析說明]

一把梭系列 ~ C語言範例 (0005) [變數(Variable)+常數(Const) 分析說明]

一把梭系列 ~ C語言範例 (0005) [變數(Variable)+常數(Const) 分析說明]


資料來源: https://openhome.cc/Gossip/CGossip/Variable.html


★前言


★主題:

    變數(Variable)提供具名稱的記憶體儲存空間,一個變數關聯一個資料型態、儲存的值與儲存空間的位址值。


    變數資料型態決定了變數分配到的記憶體大小;變數儲存的值是指儲存於記憶體中的某個數值,你可以透過變數名稱取得這個數值,這個數值又稱為 rvalue 或 read value;而儲存空間的位址值則是指變數分配到的記憶體位置,變數本身又稱為 lvalue 或 location value。


    在 C 中要使用變數,必須先宣告 『資料型態和變數名稱』,例如:

    /*資料型態△變數名稱;
    △:英文空格
    */
    int age;       // 宣告一個整數變數
    double money;  // 宣告一個倍精度浮點數變數


    如上面所舉的例子,可使用 int、float、double、char 等關鍵字(Keyword)來宣告變數名稱並指定資料型態


    變數在命名時有些規則:

    01.不可以使用數字作為開頭

    02.也不可以使用特殊字元,像是 *&^% 之類的字元

    03.變數名稱不可以與 C 內定的關鍵字同名,例如 int、float、struct 等


    在 C 中宣告一個變數,就會配置一塊記憶體空間給變數,空間長度依宣告時的資料型態而定,被配置的這塊空間中原先可能就有資料,也因此變數在宣告後的值是不可預期的


    所以應該在在變數宣告後初始其值,可以使用指定運算子(Assignment operator)= 來指定變數的值,例如:

    int ageOfStudent = 0;
    double scoreOfStudent = 0.0;
    char levelOfStudent = 'A';

    

    有時候一但將數值指定給變數之後,我們就不希望可再重新指定給同一變數,這時可以在宣告變數時使用 const 關鍵字來限定讓她變成一個『常數』


    此時若程式中有其他程式碼試圖重新設定變數,編譯器會先檢查出這個錯誤,例如:

    const double PI = 3.14; 
    PI = 3.14159;

    這第一行程式碼中的 PI 變數已經使用了 const 來限定變成常數了,,所以第二行要再指定一次數值時會被編譯器指出錯誤,在 gcc 編譯器下,會出現這樣的錯誤訊息:

    assignment of read-only variable `PI'


★code

#include <stdio.h>
#include <stdlib.h>

int main(void) 
{
    /*宣告變數但未初始值*/
    int ageOfStudent;
    double scoreOfStudent;
    char levelOfStudent;
    printf("\n年級\t得分\t\t等級\n");
    printf("%d\t%f\t\t%d\n", ageOfStudent, scoreOfStudent, levelOfStudent);

    /*宣告變數後設定對應值*/
    ageOfStudent = 5;
    scoreOfStudent = 80.0;
    levelOfStudent = 'B';
    printf("\n年級\t得分\t\t等級\n");
    printf("%d\t%.2f\t\t%c\n", ageOfStudent, scoreOfStudent, levelOfStudent);//在 printf 中,針對浮點數的部份,使用格式指定字 %f,其中再加上 .2,表示顯示浮點數時只顯示至小數後第二位

    return 0;
}

★結果:


★延伸說明/重點回顧:

    01.C語言的變數在使用前一定要先宣告

    02.先告變數後記得要對變數進行初始化,否則會有不可預期的現象發生

    03.當有一個『固定的數值』要賦予他有意義的名稱時,可以使用常數的命名方法,例如:數學中的圓周率『 const double PI = 3.14; 』

3 thoughts on “一把梭系列 ~ C語言範例 (0005) [變數(Variable)+常數(Const) 分析說明]

    1. C/C++
      變數(Variable)/ 常數(Const)
      宣告/定義

      資料型態△變數名稱;

      const △資料型態△變數名稱;

      △ : 英文空格

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *