union的常見使用場景

2021-09-28 16:22:04 字數 523 閱讀 9075

概念:

1.聯合體union類似於結構體struct

2.聯合體用同一段記憶體單元存放不同資料型別的成員,在使用時,一次只能使用其中的乙個成員

3.它的所有成員相對於基位址的偏移量都為0

4.union的大小取決於它所有的成員中,占用空間最大的乙個成員的大小,並且union的大小要能被其他成員的大小所整除

應用:1.用來節省記憶體空間

這個就很容易理解了,多個變數使用同一處記憶體。

2.用來判斷大端還是小端,和解決tcp黏包問題

定義乙個這樣的聯合體:

union union_intandbyte

;

使用的時候,給number賦值1,然後判斷numbyte是否等於1是大端還是小端,等於1是小端

同理,解決tcp黏包的核心在於每次傳送資料時,需要把資料的長度,放在資料的前面一起傳送出去。我們使用聯合體,就可以很容的把資料長度轉成byte。聯合體如下:

union union_intandbyte

;

Redis常見使用場景

1 使用string實現計數 特點 string的value一般是string,也可以是數字 內部實現 當涉及數字運算時,自動把string轉換為integer進行運算 應用場景 對客戶端傳送驗證碼次數進行限制 string借助incr incrby decr decrby可以實現原子計數 2 使用...

redis常見的幾種使用場景

排行榜top100 相關函式zadd lrange 使用方式使用zadd記錄每個value的分數值,字段即可實現排序,再進行lrange進行取前100,就實現了排行榜的效果 計數器 相關函式incr decr 使用方式設定乙個初始值為1的key,對其進行incr decr操作,進行計數的功能。佇列 ...

Git使用場景 命令使用場景

通過個人使用git時候的遇到的使用場景,熟悉了解相關命令,也記錄一下場景的使用方法。所有場景均在ubuntu16.04 linux 作業系統下,其他作業系統有差異的地方自行查閱相關資料。安裝git sudo apt get install git設定及檢視git配置 user.name和user.e...