您好,登錄后才能下訂單哦!
這篇文章主要介紹“C語言常量類型怎么定義”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“C語言常量類型怎么定義”文章能幫助大家解決問題。
常量就是一個不變的量(比如圓周率,性別,身份證號碼)
C語言中的常量和變量的定義的形式有所差異。
C語言中的常量分為以下以下幾種:
1.字面常量
2.const 修飾的常變量
3.#define 定義的標識符常量
4.枚舉常量
我們來演示一下
字面常量,就是字面上就可以看出來的常量
int main() { //字面常量演示 3.14;//小數 1000;//整數 'w';//字符 "abc";字符串 return 0; }
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h>//使用printf記得加這條代碼 int main() { //const修飾的常變量演示 int a=100;//我們等一會兒會改變它 a=10; printf("%d",a); return 0; }
運行結果:
10
當我們在int a=100前加一個const來修飾
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { //const修飾的常變量演示 const int a=100;//在這兒 a=10; printf("%d",a); return 0; }
運行的結果:
運行錯誤,無實際輸出
我們可以知道,const如果修飾一個變量,再給變量換一個值是不被允許的,相當于一個常量,但它還有變量的屬性,所以我們就叫它是const 修飾的常變量
為什么說它具有變量屬性呢?
我們來證明一下:
再新了解一個東西,數組,當我們來寫代碼的時候,有時候需要寫很多的變量,很麻煩,這時候我們使用數組arr[ ],(a[ ],hin[ ]都隨便,自己起一個名),在數組的[ ]中只能放常量,比如arr[5],相當于你直接定義了5個變量,里面是不能放變量的,根據這個原理我們來證明一下const 修飾的常變量是否具有變量屬性
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { const int a = 100; int arr[10] = {0}; return 0; }
可正常運行
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> int main() { const int a = 100; int arr[a] = {0}; return 0; }
運行結果:
出現了錯誤,說明const 修飾的常變量具有變量屬性
我有一個大佬(我認為的大佬,哈哈哈)是這樣理解的:假設變量是一個空間,常量是一個實際值,變量用來容納常量,const只是鎖定了值,但是并不是把空間變成數值
#define _CRT_SECURE_NO_WARNINGS #include<stdio.h> #define MAX 100//here int main() { printf("%d\n",MAX); int a=MAX; printf("%d\n",a); return 0; }
運行的結果:
100
100
可以看出來,MAX被定義為了100,無論是直接打印還是給變量一個值都可以,想用的時候就可以拿出來使用,這個MAX就是標識符常量,也就是#define 定義的標識符常量。(#define也是可以定義一個字符串的,不局限于數字)
我生活中一些值是可以一一列舉出來的,比如性別,我們初步來了解一下,畢竟只是初始c語言,
#include <stdio.h> enum Sex { MALE,//男 FEMALE,//女 SECRET//不確定 }; //enum Sex未來的可能取值就是MALE,FEMALE,SECRET,它們三個就是枚舉常量 int main() { //枚舉常量演示 printf("%d\n", MALE); printf("%d\n", FEMALE); printf("%d\n", SECRET); //注:枚舉常量的默認是從0開始,依次向下遞增1的
注意,這里enum Sex里面三個枚舉常量并不開辟空間,而且也是不能改變的,改變就會報錯
關于“C語言常量類型怎么定義”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。