最近看別人的項目,發現const使用比較多,通過使用const來保護變量,這篇推文就來簡單回顧一下相關知識!
|用法1
有時候定義了一些變量,但是并不想它被修改,簡單理解就是定義了一些變量,這些變量的性質是只讀,就可以使用const來保護相關數據:
#include "stdio.h"
int main()
{
// 寫法1
const int a = 10;
// 寫法2
int const b = 10;
// 報錯
a = 20;
// 報錯
b = 20;
}
|用法2
除了保護變量,還能和指針配合使用,特別要注意const的位置,這是個細節問題,不能忽視!!!
#include "stdio.h"
int main()
{
// 變量
int a = 10;
int b = 10;
// 寫法1
const int *p1 = &a;
// 寫法2
int const *p2 = &a;
// 寫法3
int *const p3 = &a;
// 重新賦值
p1 = &b;
p2 = &b;
// 報錯
// p3 = &b;
// 成功
*p3 = 20;
// 報錯
*p1 = 20;
}
注意它們的區別:1個只能改值,一個只能改地址!
|用法3
除了配合指針使用,還能作為函數的參數進行使用,可以細分為兩類
類型1
為了防止在函數內部修改指針指向的數據,就可以用 const的如下寫法限制:
size_t strlen ( const char * str );
類型2
為了防止在函數內部修改指針指向地址,就可以用 const的如下寫法限制:
voidtest( char *constobj);
特別注意:加了const的變量或指針和不加是有區別的, 不要隨便進行類型轉換, 或者其他異常操作!
審核編輯:劉清
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
C語言
+關注
關注
183文章
7644瀏覽量
145581 -
CONST
+關注
關注
0文章
45瀏覽量
8761
原文標題:C語言|const關鍵字
文章出處:【微信號:玩轉單片機,微信公眾號:玩轉單片機】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
熱點推薦
C語言volatile關鍵字詳解 精選資料分享
1.volatile和什么有關百度翻譯是這樣子翻譯volatile的:圖1-1 百度翻譯volatile截圖volatile屬于C語言的關鍵字,《C Primer Puls》 是這樣解
發表于 07-22 07:20
嵌入式程序員常見的const、static、volatile關鍵字
嵌入式程序員const、static、volatile三個關鍵字的樸素認識摘要:在C語言程序編寫中,const、static
發表于 12-21 06:08
C++中mutable關鍵字詳解與實戰
mutable關鍵字詳解與實戰 在C++中mutable關鍵字是為了突破const關鍵字的限制,被mutable
淺談C++的mutable關鍵字
C++11中推出了一種特殊的關鍵字:mutable用于修飾類變量。它的作用是標注該變量一定會被修改,因此也就不是const類型。目的是為了使這些成員變量在被const
C語言關鍵字分別發生在哪個階段
在編譯的第一個階段:預處理,對一些宏定義做替換。 第二個,const。 C語言中的 const 用于修飾只讀變量,表示變量本身不能修改。 這個關鍵字
C語言|const關鍵字介紹
評論