日本免费高清视频-国产福利视频导航-黄色在线播放国产-天天操天天操天天操天天操|www.shdianci.com

學無先后,達者為師

網站首頁 編程語言 正文

適合初學者的C語言常量類型的講解_C 語言

作者:每天都要學一點哦 ? 更新時間: 2022-06-11 編程語言

生活中有一些是可變的量(比如你的年齡,身高,體重,對象)

還有一些不變的量(比如圓周率,性別,身份證號碼)[哎,這里你說性別可變啊,我們只能笑一下,哈哈]

常量的定義

常量就是一個不變的量(比如圓周率,性別,身份證號碼)

C語言中的常量和變量的定義的形式有所差異。

常量的分類

C語言中的常量分為以下以下幾種:

  • 1.字面常量
  • 2.const 修飾的常變量
  • 3.#define 定義的標識符常量
  • 4.枚舉常量

我們來演示一下

字面常量

字面常量,就是字面上就可以看出來的常量

int main()
{
    //字面常量演示
    3.14;//小數
    1000;//整數
    'w';//字符
    "abc";字符串
  
   return 0;
}

const修飾的常變量

#define _CRT_SECURE_NO_WARNINGS

#include//使用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

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

int main()
{
	const int a = 100;
	int arr[10] = {0};
	return 0;
}

可正常運行

#define _CRT_SECURE_NO_WARNINGS

#include

int main()
{
	const int a = 100;
	int arr[a] = {0};
	return 0;
}

運行結果:

出現了錯誤,說明const 修飾的常變量具有變量屬性

請添加圖片描述

我有一個大佬(我認為的大佬,哈哈哈)是這樣理解的:假設變量是一個空間,常量是一個實際值,變量用來容納常量,const只是鎖定了值,但是并不是把空間變成數值

#define 定義的標識符常量

#define _CRT_SECURE_NO_WARNINGS

#include

#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 

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里面三個枚舉常量并不開辟空間,而且也是不能改變的,改變就會報錯

原文鏈接:https://blog.csdn.net/iqrmshrt/article/details/123981168

欄目分類
最近更新