const 推出的初始目的,正是為了取代預編譯指令,消除它的缺點,同時繼承它的優點。
const的作用
(1)可以定義const常量,具有不可變性(2)用于函數參數,便于進行類型檢查,使編譯器對處理內容有更多了解,消除了一些隱患。例如: void f(const int i) { ………} 編譯器就會知道i是一個常量,不允許修改(3)同宏定義一樣,可以做到不變則已,一變都變!(4)可以保護被修飾的東西,防止意外的修改,增強程序的健壯性。(5)可以節省空間,避免不必要的內存分配(6)提高了效率。 編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內存的操作,使得它的效率也很高。(7)修飾常指針
const int *A; //const修飾指向的對象,A可變,A指向的對象不可變int const *A; //const修飾指向的對象,A可變,A指向的對象不可變int *const A; //const修飾指針A, A不可變,A指向的對象可變const int *const A;//指針A和A指向的對象都不可變Const修飾其他數據類型包括數組,都是指內容不可變。
const與define
兩者都可以用來定義常量,但是const定義時,定義了常量的類型,所以更精確一些(其實const定義的是只讀變量,而不是常量)。#define只是簡單的文本替換,除了可以定義常量外,還可以用來定義一些簡單的函數,有點類似內置函數。const和define定義的常量可以放在頭文件里面。(小注:可以多次聲明,但只能定義一次)
【注】const不能通過賦值改變,但可以通過其他方式改變,比如數據的輸入。
-
嵌入式
+關注
關注
5083文章
19133瀏覽量
305608 -
C語言
+關注
關注
180文章
7605瀏覽量
136967 -
CONST
+關注
關注
0文章
44瀏覽量
8175
原文標題:嵌入式C Const關鍵字的基礎知識
文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論