最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

適合初學(xué)者的C語言數(shù)據(jù)類型的講解

 更新時間:2022年04月09日 14:54:57   作者:每天都要學(xué)一點(diǎn)哦  
在 C 語言中,數(shù)據(jù)類型指的是用于聲明不同類型的變量或函數(shù)的一個廣泛的系統(tǒng)。變量的類型決定了變量存儲占用的空間,以及如何解釋存儲的位模式。

之前說過寫代碼是為了解決生活中的問題,比如購物。

假設(shè)我們要買一本書,它的價格是10.5,是個小數(shù),也可以是一個整數(shù)10,它的書名是鋼鐵是怎樣煉成的,是一組字符串,就像svli@gikvw這些,里面每個稱為字符。

我們要去用c語言來去存儲這些信息呢,在c語言里面為了能夠描述這些類型。

就把小數(shù)抽象出來一個數(shù)據(jù)類型,叫浮點(diǎn)型

把整數(shù)抽象出來一個數(shù)據(jù)類型,叫整型(就是上一個博客里面的int)

把字符抽象出來一個數(shù)據(jù)類型,就叫字符

 10.5 -  小數(shù)  -  浮點(diǎn)型
 10   -  整數(shù)  -  整型
 A    -  字符  -  字符

那么c語言里面抽象出來哪些數(shù)據(jù)類型呢?

char          //字符數(shù)據(jù)類型
short         //短整型
int           //整型
long          //長整型
long long     //更長的整型
float         //單精度浮點(diǎn)數(shù)
double        //雙精度浮點(diǎn)數(shù)
//浮點(diǎn)型  10.5
//整型    10
//字符    A

看了上面的數(shù)據(jù)類型,很容易看出來下面的關(guān)系:

請?zhí)砑訄D片描述

為什么叫浮點(diǎn)數(shù)?

就像66.6和6.66*10,小數(shù)點(diǎn)是可以浮動的,所以叫浮點(diǎn)數(shù)

那么,為什么會有上面這么多的類型呢?我們就需要先回答一下下面這個問題:

每一種類型的大小是多少?

我們等一下用代碼問一下他們各自的大小

先了解一下新的東西

#include<stdio.h>

int main()
{
printf("%d\n",100)//
return 0;}

這個%d指的是打?。ㄝ敵觯┑母袷?,即整型,后面的100是返回值,即打印的是100,\n的意思就像enter,空行的意思,如圖:

運(yùn)行結(jié)果:

100

請?zhí)砑訄D片描述

現(xiàn)在來解釋一下\n的作用,這里用兩組代碼來對比一下:

第一組

#include<stdio.h>

int main()
{
printf("%d\n",100)//
printf("%d\n",100)
printf("%d\n",100)
return 0;}

運(yùn)行的結(jié)果:

100

100

100

請?zhí)砑訄D片描述

第二組

#include<stdio.h>

int main()
{
printf("%d",100)//
printf("%d",100)
printf("%d",100)
return 0;}

運(yùn)行的結(jié)果:

100100100

請?zhí)砑訄D片描述

可以看出,\n的作用就是空一行,就是平時enter的作用

接下來就是

#include<stdio.h>

int main()
{
    printf("%d ", sizeof(char));
	printf("%d ", sizeof(short));
	printf("%d ", sizeof(int));
	printf("%d ", sizeof(long));
	printf("%d ", sizeof(long long));
	printf("%d ", sizeof(float));
	printf("%d ", sizeof(double));
    return 0;
}

運(yùn)行結(jié)果:

1 2 4 4 8 4 8

(那么這些數(shù)字的含義是什么?它們又是怎么來看出所占內(nèi)存的大小呢?我們等一會兒就來解釋。)

請?zhí)砑訄D片描述

這里的sizeof()的作用就是返回數(shù)據(jù)類型中的char在內(nèi)存中所占的大小,通俗點(diǎn)就是用它來告訴你char這個數(shù)據(jù)類型占多少內(nèi)存

不過這里用%d不太合適,在一些的編譯器里面會報警告,我們用%zu最合適,sizeof的返回值要用%zu來打印。

int main()
{
	printf("%zu\n", sizeof(char));
	printf("%zu\n", sizeof(short));
	printf("%zu\n", sizeof(int));
	printf("%zu\n", sizeof(long));
	printf("%zu\n", sizeof(long long));
	printf("%zu\n", sizeof(float));
	printf("%zu\n", sizeof(double));
	return 0;
}

結(jié)果跟上面那個圖是一樣的,運(yùn)行結(jié)果是:

1

2

4

4

8

4

8

(我里面加了\n,所以是一排一排的)

接著我們來講上面那些數(shù)字的含義,

你只看到了它們這些數(shù)字,但沒有單位,其實(shí)它們都是有單位的,這里我們就來了解一下計算機(jī)的單位:

計算機(jī)的單位從大到小就是PB,TB,GB,MB,KB,byte。就像我們平時生活中用的流量,一般開通的套餐只到GB,所以GB,MB,KB這些我們都已經(jīng)很熟悉了,下面就是各單位間的換算

 1Pb=1024Tb                   
 1Tb=1024Gb
 1Gb=1024Mb                  
 1Mb=1024kb
 1kb=1024byte(字節(jié))  
 1byte=8bit(比特位)

看到這些,你可能對這些沒有什么概念,我們再來進(jìn)一步了解一下

我們都知道計算機(jī)使用的是二進(jìn)制語言,而我們生活在十進(jìn)制的世界,

來給一個空間| |,里面可以填1或0就是|1|或|0|,這就是一個bit,對應(yīng)的就是燈亮和燈滅

那么一個字節(jié)byte呢?

|1| |0| |1| |0| |0| |1| |0| |1|占了8個空間,也就是8個bit

10100101 對應(yīng)的十進(jìn)制就是 165

一個字節(jié)能儲存多大的數(shù)字呢?

11111111 對應(yīng)的十進(jìn)制就是255,即最多可以儲存2^8-1這么大的數(shù)

我們可以感受到越到后面的單位大小越龐大

解釋完計算機(jī)的單位,我們就來回到上面的1 2 4 4 8 4 8,它們的單位都是字節(jié)

char對應(yīng)1字節(jié),可以開辟一個能儲存2^8-1的空間

short對應(yīng)2字節(jié),可以開辟一個能儲存2^16-1的空間

int對應(yīng)4字節(jié),可以開辟一個能儲存2^32-1的空間

long long對應(yīng)8字節(jié),可以開辟一個能儲存2^64-1的空間

里面的float和double是來存儲小數(shù)的,雙精度浮點(diǎn)數(shù)比單精度浮點(diǎn)數(shù)精度要高一點(diǎn),這個在以后的博客會更加深入的去講解

但是我們看到int和long為什么都是4呢?

C語言規(guī)定,sizeof(long)>=sizeof(int)就行,但不會超過sizeof(long long)

那么我們回到前面提出的問題,為什么要規(guī)定這樣的數(shù)據(jù)類型呢,答案是節(jié)省空間:

給你一個數(shù)2,你要把它存起來,你用了long long這個數(shù)據(jù)類型,開辟了能儲存2^64-1的空間來放這個2,是不是有點(diǎn)大材小用了,用一個char就行了,提高空間的利用率

接下來我們來解釋一下下面的代碼,來引入下一個博客講的變量和常量

#include<stdio.h>
int main()
{
int age=18;
double weight=16.5;
return 0;
}

int age=18;

向內(nèi)存申請一個int大小的空間,來把18這個數(shù)據(jù)放在age這個變量里面,通俗一點(diǎn)就是,int要了一個房間,起名為age(隨便起名),把18放到了里面。

double weight=16.5;

這個像上面一樣,double是數(shù)據(jù)類型,weight是個變量,16.5是個小數(shù)

這些數(shù)據(jù)類型就是來定義變量的

到此這篇關(guān)于適合初學(xué)者的C語言數(shù)據(jù)類型的講解的文章就介紹到這了,更多相關(guān)C語言 數(shù)據(jù)類型內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Visual?Studio?2022?激活碼(親測可用)

    Visual?Studio?2022?激活碼(親測可用)

    在?Visual?Studio?2019?的基礎(chǔ)上,新版集成開發(fā)壞境提供了非常多的改進(jìn),包括對?64?位、.NET?6?的支持,為核心調(diào)試器提供更好的性能。本文給大家分享Visual?Studio?2022?激活碼,需要的朋友參考下吧
    2021-12-12
  • c語言中enum類型的用法案例講解

    c語言中enum類型的用法案例講解

    這篇文章主要介紹了c語言中enum類型的用法案例講解,本篇文章通過簡要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是本文的詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-07-07
  • 應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)

    應(yīng)用程序操作NorFlash示例代碼分享(norflash接口使用方法)

    相對于操作NandFlash,操作NorFlash相對簡單,因?yàn)榛静恍枰紤]壞塊,NorFlash也沒有OOB區(qū)域,也跟ECC沒有關(guān)系。讀寫擦除相對容易,下面看個例子吧
    2013-12-12
  • 字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較

    字符串拷貝函數(shù)memcpy和strncpy以及snprintf 的性能比較

    以下是對字符串拷貝函數(shù)memcpy和strncpy以及snprintf它們之間的性能進(jìn)行了比較,需要的朋友可以過來參考下
    2013-07-07
  • C++模擬實(shí)現(xiàn)List迭代器詳解

    C++模擬實(shí)現(xiàn)List迭代器詳解

    list不同于其他容器,他是一個鏈表,物理地址并不連續(xù)。所以在實(shí)現(xiàn)list類的迭代器的時候,需要將迭代器單獨(dú)封裝到一個類里,因?yàn)樾枰剌d很多操作符來跟其他容器的迭代器使用達(dá)成一致
    2022-04-04
  • va_list(),va_start(),va_arg(),va_end() 詳細(xì)解析

    va_list(),va_start(),va_arg(),va_end() 詳細(xì)解析

    這些宏定義在stdarg.h中,所以用到可變參數(shù)的程序應(yīng)該包含這個頭文件.下面我們寫一個簡單的可變參數(shù)的函數(shù),該函數(shù)至少有一個整數(shù)參數(shù),第二個參數(shù)也是整數(shù),是可選的.函數(shù)只是打印這兩個參數(shù)的值
    2013-09-09
  • C++ STL list 遍歷刪除出錯解決方案

    C++ STL list 遍歷刪除出錯解決方案

    這篇文章主要介紹了C++ STL list 遍歷刪除出錯解決方案的相關(guān)資料,這里對出錯進(jìn)行分析,并給出正確的解決方法,需要的朋友可以參考下
    2016-12-12
  • 基于John Carmark密碼詳解

    基于John Carmark密碼詳解

    本篇文章對John Carmark密碼進(jìn)行了分析介紹。需要的朋友參考下
    2013-05-05
  • Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境(圖文教程)

    Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境(圖文教程)

    這篇文章主要介紹了Ubuntu 20.04 下安裝配置 VScode 的 C/C++ 開發(fā)環(huán)境,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-05-05
  • C語言實(shí)現(xiàn)的一個三子棋游戲詳解流程

    C語言實(shí)現(xiàn)的一個三子棋游戲詳解流程

    三子棋是一種民間傳統(tǒng)游戲,又叫九宮棋、圈圈叉叉、一條龍、井字棋等。將正方形對角線連起來,相對兩邊依次擺上三個雙方棋子,只要將自己的三個棋子走成一條線,對方就算輸了
    2021-10-10

最新評論

广南县| 濮阳市| 连山| 五原县| 搜索| 利川市| 道真| 绥中县| 清远市| 天镇县| 荆州市| 碌曲县| 屏边| 兴海县| 安徽省| 东兴市| 攀枝花市| 平顶山市| 英吉沙县| 四子王旗| 团风县| 洛扎县| 合作市| 绥德县| 黔西| 比如县| 西和县| 义马市| 龙口市| 明光市| 江阴市| 正镶白旗| 班玛县| 晋江市| 巴青县| 广丰县| 集贤县| 托克托县| 本溪| 昭通市| 乐陵市|