目錄
- 一.const 簡介
- 二.const 實戰
- 1.使用 const 修飾變數必須初始化
- 2.使用 const 修飾變數不初始化
- 3.修改 const 修飾變數的值
- 三.重點提示
- 四.猜你喜歡
零基礎 C/C++ 學習路線推薦 : C/C++ 學習目錄 >> C 語言基礎入門
一.const 簡介
const 是 constant 的縮寫,意思是“恒定不變的”!它是定義只讀變數或者常變數的關鍵字,const 定義的是變數,但又相當于常量;說它定義的是常量,但又有變數的屬性,所以也叫常變數,
用 const 定義常變數的方法很簡單,就在通常定義變數時前面加 const 即可,如:
const int a = 10;
int const b = 10;
這兩個陳述句是一樣的,const 關鍵字的位置和資料型別的位置的前后沒影響,它只修飾 a 這個變數,它和其他的修飾符一樣;
意思是限定 a 的值是一定的,不能再被改變(貌似有常量的性質),比如不可以對它進行賦值,a 一般在定義是進行初始化,以后便不能在改變了,
二.const 實戰
1.使用 const 修飾變數必須初始化
用 const 定義的變數的值是不允許改變的,即不允許給它重新賦值,即使是賦相同的值也不可以,所以說它定義的是只讀變數,這也就意味著必須在定義的時候就給它賦初值,
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 const 修飾變數
//@Time:2021/07/02 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include <stdio.h>
int main() {
const int a = 10;
printf("a = %d\n",a);
return 0;
}
/*
輸出:
a = 10
*/
2.使用 const 修飾變數不初始化
如果定義的時候未初始化,我們知道,對于未初始化的區域變數,程式在執行的時候會自動把一個很小的負數存放進去,這樣后面再給它賦初值的話就是“改變它的值”了,即發生語法錯誤,
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 const 修飾變數
//@Time:2021/07/02 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include <stdio.h>
int main() {
const int a ;
printf("a = %d\n",a);
return 0;
}
/*
輸出:
Compilation Failed
error: uninitialized 'const a' [-fpermissive]
4 | const int a ;
| ^
*/
3.修改 const 修飾變數的值
/******************************************************************************************/
//@Author:猿說編程
//@Blog(個人博客地址): www.codersrc.com
//@File:C語言教程 - C語言 const 修飾變數
//@Time:2021/07/02 08:00
//@Motto:不積跬步無以至千里,不積小流無以成江海,程式人生的精彩需要堅持不懈地積累!
/******************************************************************************************/
#include <stdio.h>
int main() {
const int a = 20 ;
printf("a = %d\n",a);
a = 200 ;
printf("a = %d\n",a);
return 0;
}
/*
輸出:
Compilation Failed
error: assignment of read-only variable 'a'
6 | a = 200 ;
| ~~^~~~~
*/
用 const 定義的變數的值是不允許改變的,即不允許給它重新賦值,即使是賦相同的值也不可以,
三.重點提示
用 const 修飾的變數,無論是全域變數還是區域變數,生存周期都是程式運行的整個程序,全域變數的生存周期為程式運行的整個程序這個是理所當然的,
而使用 const 修飾過的區域變數就有了靜態特性,它的生存周期也是程式運行的整個程序,我們知道全域變數是靜態的,靜態的生存周期就是程式運行的整個程序,
但是用 const 修飾過的區域變數只是有了靜態特性,并沒有說它變成了靜態變數,
四.猜你喜歡
- C 語言 陣列下標越界和記憶體溢位區別
- C 語言 指標宣告和定義
- C 語言 指標 p++ / p–
- C 語言 p++/§++/_(p++)/_p++
- C 語言 使用指標遍歷陣列
- C 語言 指標和陣列區別
- C 語言 指標陣列和陣列指標區別
- C 語言 空指標 NULL
- C 語言 void 指標
- C 語言 野指標
- C 語言 函式值傳遞和址傳遞
- C 語言 函式預設引數
- C 語言 函式不定長引數
- C 語言 函式指標
- C 語言 指標函式
- C 語言 回呼函式 callback
- C 語言 typedef
- C 語言 define 定義常量
- C 語言 define 防止頭檔案重復包含
- C 語言 #pragma once
- C 語言 #include <> 與 #include “” 區別
- C 語言 const 修飾變數
未經允許不得轉載:猿說編程 ? C 語言 const 修飾變數
本文由博客 - 猿說編程 猿說編程 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/298226.html
標籤:C
上一篇:C語言 - 位元組對齊 __align(),__attribute__((aligned (n))),#pragma pack(n)
