自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

C#結(jié)構(gòu)體指針的定義及使用詳解

開(kāi)發(fā) 后端
C#結(jié)構(gòu)體指針的定義及使用詳解主要向你講述了C#結(jié)構(gòu)體指針是如何定義的,如何實(shí)現(xiàn)的。

在解析C#結(jié)構(gòu)體指針前,必須知道C#結(jié)構(gòu)體是如何定義的。在c#中同樣定義該結(jié)構(gòu)體。

C#結(jié)構(gòu)體指針之C#結(jié)構(gòu)體的定義:

  1. [StructLayout(LayoutKind.Sequential)]  
  2.  
  3. public struct VGAStat  
  4.  
  5. {  
  6.  
  7. public int ChannelNum;//通道數(shù)量  
  8.  
  9.  
  10. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 64)]  
  11.  
  12. public char[] Version;//版本信息  
  13.  
  14. public uint CPUUsage;//CPU占用  
  15.  
  16. public bool WorkStatusOk; //工作狀態(tài)  
  17.  
  18.  
  19. [MarshalAs(UnmanagedType.ByValArray, SizeConst = 4)]  
  20.  
  21. public tagCheckArg[] ChannelStatistic;//通道信息  
  22.  

定義完結(jié)構(gòu)體后,就可將接收到的C#結(jié)構(gòu)體指針轉(zhuǎn)換為定義的結(jié)構(gòu)體對(duì)象。

  1. VGAStat entries = (VGAStat)Marshal.PtrToStructure(iptr, typeof(VGAStat));  
  2.  
  3. //iptr為接收到的非托管的結(jié)構(gòu)體指針。 

反之,也可將結(jié)構(gòu)體賦值后封送到非托管內(nèi)存。

假如vga為定義后實(shí)例化并賦值了的結(jié)構(gòu)體。

  1. IntPtr intptr = Marshal.AllocHGlobal(Marshal.SizeOf(vga));  
  2.  
  3. Marshal.StructureToPtr(vga, intptr, true);  
  4.  
  5. //在此發(fā)送intptr指針給目的方  
  6.  
  7. Marshal.FreeHGlobal(intptr);//釋放分配的非托管內(nèi)存。 

C#結(jié)構(gòu)體指針的定義及使用的相關(guān)內(nèi)容那個(gè)就向你介紹到這里,希望對(duì)你了解和學(xué)習(xí)C#結(jié)構(gòu)體指針有所幫助。

【編輯推薦】

  1. C#結(jié)構(gòu)體和類的區(qū)別淺析
  2. C#結(jié)構(gòu)體構(gòu)造函數(shù)的應(yīng)用
  3. C#結(jié)構(gòu)體定義的詳解
  4. C#的結(jié)構(gòu)體使用實(shí)例淺析
  5. C#結(jié)構(gòu)體變量學(xué)習(xí)淺談
責(zé)任編輯:仲衡 來(lái)源: 博客園
相關(guān)推薦

2009-08-13 14:46:03

C#結(jié)構(gòu)體定義

2009-08-31 15:02:22

C#解析結(jié)構(gòu)體指針

2009-08-13 13:29:04

C#結(jié)構(gòu)體使用

2009-09-07 18:08:25

C#鼠標(biāo)指針

2009-08-13 14:56:46

C#的結(jié)構(gòu)體使用

2016-12-12 12:37:45

結(jié)構(gòu)C代碼賦值

2009-08-13 11:18:50

C#結(jié)構(gòu)體

2009-08-14 11:05:28

C#語(yǔ)言的結(jié)構(gòu)體

2009-08-27 16:18:47

C#類C#結(jié)構(gòu)體

2009-08-18 17:29:02

C#使用指針

2009-08-31 16:47:39

C#接口的定義

2009-08-14 09:27:27

C#構(gòu)造函數(shù)的特性

2009-08-13 14:24:44

C#結(jié)構(gòu)體構(gòu)造函數(shù)

2009-08-13 15:03:58

C#結(jié)構(gòu)體變量

2009-08-21 15:16:23

C#使用指針

2009-08-13 15:48:57

C#指針

2009-08-13 14:06:37

C#結(jié)構(gòu)體結(jié)構(gòu)體和類的區(qū)別

2009-08-13 13:03:52

C#結(jié)構(gòu)體數(shù)組

2009-08-13 13:17:10

C#結(jié)構(gòu)體數(shù)組

2022-08-19 14:38:52

C語(yǔ)言結(jié)構(gòu)體struct
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)