C語言基礎之--數據類型


所謂的類型,就是對數據分配存儲單元的安排,包括存儲單元的長度以及數據的形式,不一樣的類型分配不一樣的長度和存儲的形式,C語言容許使用的數據類型以下圖:數組

wKiom1UADkzwG951AAHW15kIPj4913.jpg

接下來將對幾個類型作一個簡單的介紹:數據結構

1、基本數據類型之--整型(int)ide

(一)、系統中爲每個整型數據分配了4個字節的存儲空間,整型數有如下幾種類型:函數

(1)短整型(short int):類型名爲shotr int或者簡寫爲short, 系統爲分配了2個字節的存儲空間,變量值的範圍是-32768~32767,輸出時格式聲明爲:%d或者%i。spa

(2)長整型(long int):類型名爲long int或者簡寫爲long, 系統爲分配了4個字節的存儲空間,變量值的範圍是-2147483648~2147483647,輸出時格式聲明爲:%ld。指針

(3)雙長整型(long long int):類型名爲long long int或者簡寫爲long long, 系統爲分配了8個字節的存儲空間,變量值的範圍是-922337203654775808~922337203654775807,輸出時格式聲明爲:%lld。blog

(4)無符號基本整型(unsigned int):類型名爲unsigned int或者簡寫爲int, 系統爲分配了4個字節的存儲空間,變量值的範圍是0~4294967295,輸出時格式聲明爲:%u。內存

(5)有符號整型(signed int):類型名爲signed int或者簡寫爲int, 系統爲分配了4個字節的存儲空間,輸出時格式聲明爲:%d。get

在這裏有個地方須要注意一下:就是unsigned和signed,定義時,它們只會改變你的最高位,並不會修改數據類型的長度,二者的區別就是:決定最高位是否會被當爲符號位。it

(二)、整型變量的定義

能夠用下列語句定義整型變量:

(1)int a, b;  同時定義兩個變量a與b

(2)int a = 10; 在定義變量a的同時賦初值給a。

注意:int a ,int b;這種寫法是錯誤的,不能夠在一個語句中寫兩個定義類型。

2、基本數據類型之--浮點型(float)

(一)、浮點型又可分爲如下兩種類型的浮點數

(1)單精度浮點數(float):系統爲其分配了4個字節的存儲空間,共32位二進制數, 變量的範圍是 3.4x10-38E~3.4x10+38E,輸出時格式聲明爲:%f。

(2)雙精度浮點數(double):系統爲其分配了8個字節的存儲空間,共64位二進制數, 變量的範圍是 1.7x10-308E~1.7x10+308E,輸出時格式聲明爲:%f。

(二)、浮點型變量定義

能夠用下列語句定義浮點型變量:

(1)float a, f;

(2)double b;

3、基本數據類型之--字符型(char)

(一)、目前大多數系統採用ASCII字符集,各類字符集的基本集都包括了127個字符,其中就包括:

(1)字母:大小寫20個英文字母

(2)數字:0~9

(3)29個專門的符號:!」 #  & ‘ () *  +  , -  . /  : ; <  =  >  ?  [  \  ]  ^  _  {  |  }  ~

(4)空格符:空格、水平製表符(tab)、垂直製表符、換行、換頁

(5)不能顯示的字符:空(null)字符('\0')、警告('\a')、退格('\b')、回車('\r')等等。 

系統爲字符變量分配了1個字節的存儲空間,符號字符型數的取值範圍爲-128~127, 無符號字符型數到值範圍是0~255。

(二)、字符常數的表示

(1)符號表示的字符可直接用單引號括起來表示, eg:'a', '9', 'Z',也可用 該字符的ASCII碼值表示, 例如十進制數85表示大寫字母'U', 十六進制數0x5d表示 ']', 八進制數0102表示大寫字母'B';

(2)不能用符號表示的控制符, 只能用ASCII碼值來表示, 如十進制數10表示換行,六進制數0x0d表示回車, 八進制數033表示Esc。

(三)、字符類型定義

char a;表示定義一個字符變量

a = 'B';表示給字符變量賦值B這個字符

4、指針類型(*)

指針是一種特殊的數據類型, 在其它語言中通常沒有。指針是指向變量的地址, 實質上指針就是存貯單元的地址。根據所指的變量類型不一樣,能夠是整型指針 (int *)、浮點型指針(float *)、字符型指針(char *)、結構指針(struct *)和聯合指針(union *),因爲指針所涉及的知識較爲寬廣且知識較爲雜亂,將在以後的博文中,再進行更加詳細的介紹。

5、構造類型

構造類型中又可分爲四種類型:

(1)數組:數組是一組有序數據的集合,數組中個數據的排列是有必定的規律的,數組的下標就是表明着數據在數組中的序號;同時,用一個數組名和下標便可以惟一地確認數組中的元素,數組中的每個元素都屬於同一個數據類型,不能在數組中添加不一樣類型的數據。

定義數組:類型符 數組名[常量表達式](注意:在定義時,常量表達式只能是常量,不能包含變量)

eg:int str[6] = {3,5,6,7,7,8};

(2)結構體(struct):C語言容許用戶本身創建由不一樣類型數據組成的組合型的數據結構,就是結構體。

定義結構體時,首先須要先定義一個結構體的類型,以後根據定義的結構體類型再定義變量:

第一步:定義結構體類型:struct 結構體類型名{成員列表};

eg:struct Student{int age; char *name};定義個一個類型爲Student的結構體,結構體中包含兩個成員;

第二步:定義變量:struct 結構體類型名 變量名稱

eg:struct Student stu  定義了一個名爲stu的變量

第三步:給變量賦值:變量名.成員名

eg:stu.age = 19 ;給結構體中的age這個成員賦值

(3)共用體(union)

(4)枚舉(enum)

6、無值型(void)

無值型字節長度爲0, 主要有兩個用途: 一是明確地表示一個函數不返回任何 值; 一是產生一個同一類型指針(可根據須要動態分配給其內存)。 例如: void *buffer; /*buffer被定義爲無值型指針*/

相關文章
相關標籤/搜索