0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式C語言中Const關(guān)鍵字的基礎(chǔ)知識和作用的詳細資料概述

Q4MP_gh_c472c21 ? 來源:未知 ? 作者:易水寒 ? 2018-07-06 10:02 ? 次閱讀

const 推出的初始目的,正是為了取代預編譯指令,消除它的缺點,同時繼承它的優(yōu)點。

const的作用

(1)可以定義const常量,具有不可變性(2)用于函數(shù)參數(shù),便于進行類型檢查,使編譯器對處理內(nèi)容有更多了解,消除了一些隱患。例如: void f(const int i) { ………} 編譯器就會知道i是一個常量,不允許修改(3)同宏定義一樣,可以做到不變則已,一變都變?。?)可以保護被修飾的東西,防止意外的修改,增強程序的健壯性。(5)可以節(jié)省空間,避免不必要的內(nèi)存分配(6)提高了效率。 編譯器通常不為普通const常量分配存儲空間,而是將它們保存在符號表中,這使得它成為一個編譯期間的常量,沒有了存儲與讀內(nèi)存的操作,使得它的效率也很高。(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修飾其他數(shù)據(jù)類型包括數(shù)組,都是指內(nèi)容不可變。

const與define

兩者都可以用來定義常量,但是const定義時,定義了常量的類型,所以更精確一些(其實const定義的是只讀變量,而不是常量)。#define只是簡單的文本替換,除了可以定義常量外,還可以用來定義一些簡單的函數(shù),有點類似內(nèi)置函數(shù)。const和define定義的常量可以放在頭文件里面。(小注:可以多次聲明,但只能定義一次)

【注】const不能通過賦值改變,但可以通過其他方式改變,比如數(shù)據(jù)的輸入。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5086

    文章

    19141

    瀏覽量

    305940
  • C語言
    +關(guān)注

    關(guān)注

    180

    文章

    7606

    瀏覽量

    137052
  • CONST
    +關(guān)注

    關(guān)注

    0

    文章

    44

    瀏覽量

    8177

原文標題:嵌入式C Const關(guān)鍵字的基礎(chǔ)知識

文章出處:【微信號:gh_c472c2199c88,微信公眾號:嵌入式微處理器】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    C語言關(guān)鍵字const的幾種用法

    本期來講解一個C語言關(guān)鍵字——const。
    發(fā)表于 06-21 11:05 ?1677次閱讀
    <b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>關(guān)鍵字</b><b class='flag-5'>const</b>的幾種用法

    嵌入式軟件編程中關(guān)鍵字的用法和原理

    青島職業(yè)技術(shù)學院劉浩山東省文登市澤頭鎮(zhèn)***張斌引言計算機編程語言關(guān)鍵字就好比是它的靈魂,只有深入理解了它們的含義才能編寫出優(yōu)秀的代碼。C語言以其簡潔、高效和強大等特性成為
    發(fā)表于 06-20 07:37

    嵌入式C語言的相關(guān)資料分享

    為了方便大家平時公交、地鐵、外出辦事也能用手機回顧查看文章,我特意用心精選,并分類整理了部分文章:嵌入式C語言中嵌套匯編代碼C語言 vola
    發(fā)表于 10-28 06:51

    Volatile關(guān)鍵字對于嵌入式開發(fā)有什么作用

    前言在進行嵌入式開發(fā)中,我們往往會看到一個名為volatile或者__IO的關(guān)鍵字,那么,它們對于嵌入式開發(fā)有什么作用呢?淺析volatile數(shù)據(jù)類型實際上,__IO和volatile
    發(fā)表于 11-05 09:20

    推薦一篇大佬寫的嵌入式C語言知識點總結(jié)

    熟知硬件特性和缺陷,還需要對編譯原理和計算機技術(shù)知識有著一定的了解。本文以嵌入式實踐為基礎(chǔ),再結(jié)合相關(guān)資料, 闡述嵌入式需要了解的C
    發(fā)表于 12-14 08:09

    嵌入式C使用const

    更好的代碼_嵌入式C使用 const 關(guān)鍵字靜態(tài)數(shù)據(jù)的存儲使用 const 關(guān)鍵字使用
    發(fā)表于 12-15 08:40

    嵌入式程序員常見的const、static、volatile關(guān)鍵字

    嵌入式程序員const、static、volatile三個關(guān)鍵字的樸素認識摘要:在C語言程序編寫中,co
    發(fā)表于 12-21 06:08

    嵌入式SQL語言概述

    的SQL與前面介紹的交互SQL有一些不同的操作方式下面以嵌入 C 語言為例,exec 關(guān)鍵字是為了讓
    發(fā)表于 12-21 06:55

    C語言中關(guān)鍵字static的作用是什么

    C語言中關(guān)鍵字static的作用是什么?用預處理指令#define 聲明一個函數(shù),輸入天數(shù)得到有多少秒?
    發(fā)表于 12-24 06:53

    嵌入式C語言知識點匯總,絕對實用

    了一些這方面的經(jīng)驗和思考,就希望總結(jié)下來,系統(tǒng)的闡述嵌入式C語言的重要知識點,就是這篇文章的由來。本文以自己在嵌入式上的實踐為基礎(chǔ),在結(jié)合相
    發(fā)表于 02-17 06:10

    C51的符號和五大語句及關(guān)鍵字詳細資料說明

    本文檔的主要內(nèi)容詳細介紹的是C51的符號和五大語句及關(guān)鍵字詳細資料說明包括了:C語言 基本標點
    發(fā)表于 12-11 17:34 ?31次下載
    <b class='flag-5'>C</b>51的符號和五大語句及<b class='flag-5'>關(guān)鍵字</b>等<b class='flag-5'>詳細資料</b>說明

    嵌入式C語言中volatile關(guān)鍵字

    volatile06. 附錄01. volatile概述volatile是C語言中的一個關(guān)鍵字。將變量定義為volatile就表示告訴編譯器這個變量可能會被竟想不到地改變,在這種情況下
    發(fā)表于 10-21 10:21 ?6次下載
    【<b class='flag-5'>嵌入式</b>】<b class='flag-5'>C</b><b class='flag-5'>語言中</b>volatile<b class='flag-5'>關(guān)鍵字</b>

    嵌入式C語言知識總結(jié)

    了一些這方面的經(jīng)驗和思考,就希望總結(jié)下來,系統(tǒng)的闡述嵌入式C語言的重要知識點,就是這篇文章的由來。本文以自己在嵌入式上的實踐為基礎(chǔ),在結(jié)合相
    發(fā)表于 12-20 19:44 ?12次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>C</b><b class='flag-5'>語言</b><b class='flag-5'>知識</b>總結(jié)

    const關(guān)鍵字應用總結(jié)

    C++中的const關(guān)鍵字的用法非常靈活,而使用const將大大改善程序的健壯性
    的頭像 發(fā)表于 05-26 09:06 ?577次閱讀

    淺析C語言中的regiseter關(guān)鍵字

    C語言中重要的關(guān)鍵字有很多,static const extern我們之前都講過,還有一個在面試中出現(xiàn)的頻率也比較高:register。
    的頭像 發(fā)表于 08-25 17:10 ?1142次閱讀
    淺析<b class='flag-5'>C</b><b class='flag-5'>語言中</b>的regiseter<b class='flag-5'>關(guān)鍵字</b>