1. 程式人生 > >程式語言中的資料型別

程式語言中的資料型別

    計算機程式,無非是對資料進行操作。

    而資料是按位元位以二進位制形式儲存在計算機的儲存器中的。

    為了方便程式設計師對資料進行操作,高階程式設計語言的實現一般都提供了基本資料型別。

    程式設計師利用已有的資料型別來定義程式中用到的變數或常量。

    對程式設計師來說,我們只需關心變數或常量的兩個屬性:第一,它的名字;第二,它的值。

    而對編譯器和作業系統或其它程式程式執行環境來說,它們得負責三件事:第一,根據程式設計師在變數宣告(形如:資料型別  變數名)中給出的資料型別,確定該變數在記憶體中的儲存形式(如所佔位元位數);第二,把程式設計師程式碼中的變數名對映為一個具體的記憶體地址;第三,根據變數的資料型別控制程式設計師可對該變數實施的操作。

    不同的應用程式常常需要某些特殊的資料型別,而程式語言的基本資料型別是遠遠不能夠滿足這一需求的。

    因此,面向過程的C語言為程式設計師提供了可以自定義資料型別的結構體,它把一組相關的資料封裝在一起。而面向物件的C++、java以及C#等則為程式設計師提供了可自定義的類。類和結構體相比,有著本質上的不同。結構體只是簡單的把一組不同資料型別但又相互關聯的資料組織到一起。而類,是對客觀實體的抽象。它不僅抽象出了客觀實體的所有資料型別,還抽象出了客觀實體的所有操作集合。

    當然,無論是基本資料型別還是自定義資料型別,都是抽象的。只有當程式設計師定義了某一型別的某一變數或常量或物件時,執行環境才為它分配記憶體。至於如何分配記憶體,和具體語言的實現有關。

相關推薦

C語言資料型別的本質

  資料型別可以理解為固定記憶體大小的別名。比如int型別,就是表示佔用4位元組的記憶體。 1 資料型別的大小   用sizeof操作符獲得資料型別的大小。    比如 int a[5];   sizeof(a)就可以得出int型陣列a的大小是20位元組

C語言資料型別總結

1.c語言的資料型別的分類: 分為四大類:基本資料型別、指標型別、空型別、構造型別。 基本資料型別:整型(int)、單精度浮點型(float)、雙精度浮點型(double)、字元型(char); 注:

C語言與java語言資料型別的差別總結

在學習java的時候,看到char ch =  '男' ;我就覺得很奇怪,char型別不是佔用一個位元組嗎?為什麼定義成一個漢字被說成是一個字元了?原來,在C語言中,char在32位作業系統下佔用1個位

二進位制安全_C語言資料型別

1、C語言中的資料型別:     2、學習資料型別的三個要素:   1、儲存資料的寬度 2、儲存資料的格式 3、作用範圍(作用域)   3、整數型別:char short int long char 8BIT

程式語言資料型別

    計算機程式,無非是對資料進行操作。     而資料是按位元位以二進位制形式儲存在計算機的儲存器中的。     為了方便程式設計師對資料進行操作,高階程式設計語言的實現一般都提供了基本資料型別。     程式設計師利用已有的資料型別來定義程式中用到的變數或常量。    

【專欄】資料結構和演算法之美-為什麼很多程式語言的陣列都是從 0 開始的

學習筆記 陣列的特徵 1.線性表 資料排成像一條線一樣的結構,資料之間只是簡單的前後關係。除了陣列是一種線性表結構外,連結串列、佇列和棧也是。與之對應的像二叉樹、堆、圖等就是非線性表。 2.使用連續

程式語言資料結構

計算機程式語言的資料結構 C++的10種基本容器(是對演算法導論中的標準實現) 資料型別 儲存型別 容器名稱 說明 單值 陣列 vector<T> 連結串列 list<T> 樹 set<T>

C語言型別轉換與資料的機器碼儲存

各種型別的表示範圍 對於涉及到了混合著不同資料型別的表示式中的資料型別的轉換問題。在總結轉換問題之前,先說明一下32位機上的各種資料型別。 型別名 位元組數 其他型別名 10進製表示範圍(機器碼) char 1 signed char -128

C語言不同型別資料所佔位元組數彙總

16位編譯器         char:1個位元組         char*:2個位元組         short int:2個位元組         int:2個位元組         unsigned int:2個位元組         long:4個位元組         long long:8個位

JS資料型別的分類

JS中資料型別的分類: (1).基本資料型別: 1.數字(number) 2.字串(string) 3.布林(boolean) 4.null 5.undefined (2).引用資料型別: 1.物件資料型別(object) 2.函式資料型別(function)

如何在不同程式語言獲取現在的Unix時間戳(Unix timestamp)?

如何在不同程式語言中獲取現在的Unix時間戳(Unix timestamp)? Java time JavaScript Math.round(new Date().getTime()/1000) getTime

Javascript資料型別&深淺拷貝二

資料型別: Javascript中有5種基本資料型別(簡單資料型別),分別為:Undefined, Null, Boolean, Number和String; 同時還含有一種複雜資料型別,即物件(雖然js中一切皆為物件) 其中Undefined和Null的區別為: U

指令碼語言資料型別

Lua 資料型別 Lua是動態型別語言,變數不要型別定義,只需要為變數賦值。 值可以儲存在變數中,作為引數傳遞或結果返回。 Lua中有8個基本型別分別為:nil、boolean、number、string、userdata、function、thread和table。

java資料型別

xl_echo編輯整理,交流學習請加1280023003 百戰不敗,依不自稱常勝,百敗不頹,依能奮力前行。——這才是真正的堪稱強大!! 基本資料型別有一下四種 int資料型別有: byte(8bit, -128~127) short(16bit) int

VHDL資料型別轉換與移位(STD_LOGIC_ARITH與NUMERIC_STD)

1. VHDL目前常用庫檔案 目前寫VHDL程式時,大部分人已經熟悉的庫呼叫如下所示: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsi

C語言資料型別

1. 下面的例項演示了獲取 int 型別的大小: 程式碼: #include <stdio.h> #include <limits.h> int main() { printf("int 儲存大小 : %lu \n", sizeof(int)); ret

SQLServer之資料庫型別對應Java資料型別

SQL Server 型別 JDBC 型別 (java.sql.Types) Java 語言型別 bigint BIGINT long timestamp binary

oracle資料型別對應java型別[轉載] oracle資料型別對應java型別

oracle中資料型別對應java型別 轉載地址:https://www.cnblogs.com/softidea/p/7101091.html 地址: http://otndnld.Oracle.co.jp/document/products/oracle10g/102/

Java資料型別的轉換

/** * 資料型別的相互轉換 * */ public class DataTypeTranfer { public static void main(String[] args) { /** * 每個型別額轉換都有不止一種方式轉換 * 在我認為最方便的就是裝箱拆箱轉換。把

程式語言負數取餘的問題

背景 最近在一道 Java 習題中,看到這樣的一道題: // What is the output when this statement executed System.out.printf(-7 % 3); 正整數的取餘運算大家都很熟悉,但是對