乙個陣列指標強制轉換成結構體指標得到的結構:
位元組對齊:
如果結構體中所有屬性所佔位元組和陣列的型別所佔位元組一樣(如果陣列型別是16位的,屬性也是16位的),那就直接按照屬性的順序,將陣列中的資料依次讀取出來(是讀取,不是複製,因為是指標強制轉換)
位元組不對齊:
如果結構體屬性所佔位元組數和陣列的型別不一樣,那樣資料就會亂,結構體會按照屬性的型別依次讀取型別長度的資料,然後資料就會亂。
專案例子:(專案中在收發資料報設計中)
lpcomm_pkg_header ppkgheader;//定義的包頭結構體指標
ppkgheader =(lpcomm_pkg_header)pconn->dataheadinfo;//dataheadinfo是char*型別;pconn是連線池指標
專案中,將dataheadinfo陣列長度設定為sizeof(結構體),那麼轉換的時候,結構體內的變數就能讀取到正確的且相對應的值
相關實驗連線
Swift筆記 陣列
建立乙個空陣列 使用構造語法來建立乙個由特定資料型別構成的空陣列 var array int print array.count count 通過建構函式的型別,array的值型別被推斷為 int 建立乙個帶有預設值的陣列 swift 中的array型別還提供乙個可以建立特定大小並且所有資料都被預設...
PHP筆記,陣列
1.php有兩種陣列 索引陣列 關聯陣列。索引和關聯兩個詞都是針對陣列的鍵而言的 1 索引陣列是指數組的鍵是整數的陣列,並且鍵的整數順序是從0開始,依次類推。索引陣列的初始化 fruit array 蘋果 香蕉 菠蘿 2 關聯陣列是指數組的鍵是字串的陣列。可以使用 print r 陣列名 語句輸出陣...
java筆記 陣列
陣列 1 是一種資料型別 應用型別 2 相同資料型別元素的集合 3 陣列的定義 資料型別 資料名 new 資料型別 大小 int a 宣告整型變數 int a 宣告整型陣列變數 int a 5 int new int 5 宣告整型陣列a,包含5個元素 每個元素都是int型別,預設值為0 double...