tft每日頭條

 > 科技

 > c語言的四種數據類型

c語言的四種數據類型

科技 更新时间:2024-06-12 00:12:21

c語言的四種數據類型?生活中,我們最常見到的各種瓶子,瓶子既有大小、又有類型,不同的瓶子,容積不同,用途也不同;類比到編程世界,這就是我們接下來要談的數據類型,不同的數據類型,用途不同,能夠裝的數據大小也不同,接下來我們就來聊聊關于c語言的四種數據類型?以下内容大家不妨參考一二希望能幫到您!

c語言的四種數據類型(C語言數據類型)1

c語言的四種數據類型

數據類型知多少?

生活中,我們最常見到的各種瓶子,瓶子既有大小、又有類型,不同的瓶子,容積不同,用途也不同;類比到編程世界,這就是我們接下來要談的數據類型,不同的數據類型,用途不同,能夠裝的數據大小也不同。

整型

C語言中的整型可以分為兩大類:有符号整型和無符号整型,反映在計算機内部,也就是二進制位最高位不同,負數為1,正數為0,但是你們有知道計算機内部數的表示是用什麼樣的形式表示的嗎?暫時按住不講,有興趣的小夥伴,聯系我,我們來探讨一下~

不知道有沒有小夥伴,對C語言中的這些類型有沒有好奇過,為什麼是int表示整數類型呢?這到了考驗大家的英語水平來了,英語中integer單詞表示整數,C語言是老外發明的,因此大多命名都是采用英文的縮寫,不過這對我們學習編程無傷大雅,大家了解就好~但是多知道一點,也沒關系的哈.

廢話不多說,short int從單詞上也能猜到代表短整型,為什麼短,因為它長得矮呗,哈哈~,開個玩笑,因為它僅僅能表示裝的下2個字節,每個字節8個bit,因此它也僅僅能表示16個bit。下面我們用程序來看一下各整型能表示的字節個數。

#include<stdio.h> int main(){ printf("sizeof(unsignedshortint):%d\n",sizeof(unsignedshort)); printf("sizeof(short int): %d\n", sizeof(short)); printf("sizeof(unsignedint):%d\n",sizeof(unsigned int)); printf("sizeof(int): %d\n", sizeof(int)); printf("sizeof(unsignedlong):%d\n",sizeof(unsignedlong)); printf("sizeof(long int): %d\n", sizeof(long int)); printf("sizeof(unsignedlonglong):%d\n",sizeof(unsignedlonglong)); printf("sizeof(long long): %d\n", sizeof(long long)); return0; } answer: sizeof(unsigned short int): 2 sizeof(short int): 2 sizeof(unsigned int): 4 sizeof(int): 4 sizeof(unsigned long): 4 sizeof(long int): 4 sizeof(unsigned long long): 8 sizeof(longlong):8

short int能表示範圍: -32768~32767;unsigned short int:0~65535;對于其他類型,你知道它的表示範圍是多少嗎?知道是什麼怎麼計算出來的嗎?不懂的趕緊來私聊我~

字符型

字符型用char表示,僅能裝的下8個bit,1個字節。有符号字符範圍為-128~127,無符号字符為0~255。

浮點類型

浮點類型有三種類型,float、double及long double,其區别主要是精度範圍不同,其中float的精度有效位6,double的精度有效位15位,long double的精度有效位為19。那這三種類型,需要多少字節呢?我們同樣的可以使用sizeof來獲取他們的大小。

#include<stdio.h> int main() { printf("sizeof(float):%d\n", sizeof(float)); printf("sizeof(double):%d\n", sizeof(double)); printf("sizeof(longdouble):%d\n",sizeof(longdouble)); return 0; } sizeof(float):4 sizeof(double):8 sizeof(long double):16

空類型

空類型使用符号void表示,該類型比較簡單。字面意思,什麼都不表示。對于函數返回值,表示無返回值。用在函數參數上,表示無參數。用在指針上,表示地址,不指定數據類型,可以強制類型轉換為指向任意大小數據結構的指針。

枚舉類型

枚舉類型使用enum表示。企業業務開發中,一般用該類型指代不同的數值常量或類型,例如要表示路由器中不同的端口。

typedef enum { PORT_VOID = 0, PORT_OIU = 1, PORT_TRUNK = 2, // 新增端口從此處開始... PORT_TOTAL = 255, } PORT;

派生類型指針類型

指針是編程中專業術語,一般在C/C 語言中出現,對于剛接觸編程的小朋友,概念比較抽象,不太好理解。我們可以簡單的理解為小區中房子的門牌号,就是方便尋址抽象出來的概念。

根據數據類型不同,可以有不同的指針類型,例如char *,int *,float *。

數組類型

如果我們還拿瓶子舉例,夏天很熱,鹹魚小明去超市買了一提礦泉水(12瓶),那麼這12瓶類比在編程中,就表示數組,相同類型多個數據結構,能夠連續存儲多個數據的類型。例如:int array[12] 表示大小為12的整型數組,能夠存儲12個整型元素。

結構體類型

編程語言是為了解決現實中的問題,數組已經很強大,但他也有缺陷,不能裝不同的類型數據,此時,結構體就上場,結構體就是為了讓我們定義自己的數據結構類型,使用關鍵詞struct标識。例如我們可以定義學生結構如下:

struct Student { char name[10]; // 姓名 char sex[2]; // 性别 char studyNo[10]; // 學号 float height; // 身高 float weight; // 體重 short grade;// 年級 short class; // 班級 char tel[12]; // 聯系方式 } STU;

共用體類型

該類型使用關鍵詞union标識,共用體使用場合其實并不多,在企業中開發,我接觸比較多的就是協議開發中,會涉及的多一些,一般就是多個字段在不同場景下隻能出現一個,此時我們可以用共用體,節省内存,它一般與struct結合使用,單獨使用意義不大。

typedef Struct{ int data1; float data2; union { char data3; double data4; }; char data[4]; } ST;

函數類型

自定義函數類型一般要結合typedef來使用,我們可以定義某種類型聲明的函數。例如

// 定義了返回值為空,函數參數為空的函數類型func; typedef void (*func) (void); // 定義了返回值為int,函數具有兩個int參數的函數類型func1; typedef int (*func1)(int,int); // 使用 void getValue(void); func = &getValue; func();

每日猿碼

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved