約定
- 口 = 1 Byte,用于具象化,方便眼睛對比長度;
- void = 空型別;
- C語言中,short、long、singned、unsigned都為說明符,可以改變識別符號存盤大小;
- C語言中,在宣告整型變數時,如果宣告中已經有一個其他的(同等)說明符,那么關鍵字int可以省略;
- C語言中,默認使用有符號(singned);
- C語言中,浮點資料型別沒有無符號分類,都可以存盤正數和負數;
C 語言
大脈絡
大概知道即可,不要刻意去記憶,
在C語言中,僅有4種基本資料型別:
- 整型 +-N
- int (這里比較繞,但是記住int是主要標識,還有4個說明符用來標記大小)
- signed (default)
- unsigned
- short
- signed(default)
- unsigned
- long
- signed (default)
- unsigned
- char
- signed
- unsigned
- 列舉 enum
- int (這里比較繞,但是記住int是主要標識,還有4個說明符用來標記大小)
- 浮點型 0.00
- float
- double(只有一個說明符)
- long
- 指標 *
- 聚合型別
- 陣列 [ ]
- 結構體 struct
- 共用體 union
查看長度的工具
-
在 C 語言中,==sizeof( ) ==是一個判斷資料型別或者運算式長度的運算子,
printf("a_short_int is %lu \n", sizeof(a_short_int)); -
通過頭檔案查看各種不同整數型別的最小值、最大值,
#include <limits.h>
長度的具象表示
不同位數的作業系統,所存盤的資料型別存盤大小是不同的;下面默認以64位系統舉例,
- 整型 +-N
- int
- signed (default):口口口口
- unsigned :口口口口
- short
- signed(default):口口
- unsigned :口口
- long
- signed (default):口口口口 口口口口
- unsigned :口口口口 口口口口
- long long ( long long int 型別的數值取值范圍 比 long int大 , 雖然都是8個位元組 )
- signed (default):口口口口 口口口口
- unsigned :口口口口 口口口口
- _int64 (__int64并不是正式規范,一些編譯器把它等于long long)
- signed (default):口口口口 口口口口
- unsigned :口口口口 口口口口
- char
- signed : 口口
- unsigned :口口
- 列舉 enum
- int
- 浮點型 0.00
- float :口口口口
- double :口口口口 口口口口
- long :口口口口 口口口口 口口口口 口口口口 口口口口
新的基本資料型別規范
有基本資料型別,為什么還需要新的基本資料型別規范?
在 C99 規范中,有著大量對于新的資料型別的定義和補充,這是非常有必要的,原先的 int,long 等變數基本型別在不同架構的機器上,會有不同的長度,往往會導致不可預期的問題, 64 位數值、布爾型別和復數型別的缺失、以及 Unicode 的缺失也阻礙了 C 語言在現代的進一步發展,因此,C99 型別中帶來了大量編碼型別的變化,
stdint.h是c99中引進的一個標準C庫的頭檔案:
stdint.h中定義了一些整數型別,規則如下(其中N可以為 8、16、32、64 )
intN_t, int_leastN_t, int_fastN_t 表示長度為N位的整型數;
uintN_t, uint_leastN_t, uint_fastN_t 表示長度為N位的無符號整型數 ;
stdint.h中的常量,定義以上各型別數的最大、最小值(其中N可以為 8、16、32、64 )
INTN_MIN, UINTN_MIN, INTN_MAX, UINTN_MAX ;
INT_LEASEN_MIN, INT_LEASEN_MAX ;
INT_FASTN_MIN, INT_FASTN_MAX ;
reference:
C99標準中stdint.h頭檔案整形資料型別定義
https://blog.csdn.net/m0_46577050/article/details/121014280
技術摘要| 現代 C99, C11 標準下的 C 語言編程
https://www.elliot98.top/post/tech/modern_c_standard/
匯編語言
問題:
- 位元組、字、雙字是什么?
- 匯編是怎么用這三個型別進行寫程式的?
位元組(BYTE) :口
位元組(WORD) :口口
雙字(DWORD) : 口口 口口
Java 語言
大脈絡
Java的資料型別分為倆大類:
- 基本資料型別
- 數值型
- 整數型別
- byte : 口
- short : 口口
- int : 口口口口
- long : 口口口口
- 浮點型別
- float : 口口口口
- double :口口口口 口口口口
- 整數型別
- 字符型
- char : 口口
- 布爾型
- boolean :口
- 數值型
- 參考資料型別
- Class
- interface
- [ ]
- 列舉
- 標注
注意:
- 參考型別的底層結構和基本型別差別較大;
- 還有比較常用的型別 String、Date不是基本資料型別,是一個靜態類,
大小關系:
低 ------------------------------------> 高
byte—>short—>char—> int —> long—> float —> double
基本資料型別的默認值
| 基本資料型別 | 默認值 |
|---|---|
| byet | 0 |
| short | 0 |
| int | 0 |
| long | 0L |
| float | 0.0f |
| double | 0.0d |
| char | 'u000' |
| String(or any object) | null |
| boolean | false |
SQL 語言
問題 :
- varchar(255) , 里面的255是什么意思?
TODO
Reference
C Data Types
https://www.programiz.com/c-programming/c-data-types
Java基本資料型別總結
https://www.cnblogs.com/doit8791/archive/2012/05/25/2517448.html
Github:https://github.com/Mysticbinary
既然看到了這里,君何不暢談一番?
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/545418.html
標籤:其他
