C 與C 之間dll的二維(多維)陣列傳遞

2021-10-01 18:33:47 字數 840 閱讀 6495

思維:用結構體作為中間變數,也就是傳遞結構體,然後在c#中把結構體中的資料放進二維陣列中。

c#接收**的形式:(這裡只是思路展示,非可執行**)

[dllimport("mydll.dll", callingconvention = callingconvention.cdecl)]

public static extern void myfunc([in][marshalas(unmanagedtype.lparray, sizeconst = 0)] instruct istruct, [out] [marshalas(unmanagedtype.lparray, sizeconst = 0)] outstruct outstruct);

public struct instruct

public struct outstruct

//把c++通過結構體接收的資料,裝在二維陣列中

int[,] data = new int[3,100];

instruct instruct = new instruct[100];

outstruct outstruct = new outstruct[100];

//在二維陣列data中接收outstruct中的資料

c++中封裝的形式:

struct instruct

;struct outstruct

;extern "c" __declspec(dllexport) void myfunc(instruct *instruct, outstruct *outstruct)

c 一維陣列,二維陣列,多維陣列。

陣列就是給乙個變數定義多個字元,可以是string也可以是int。或者說是一組變數。可以更加方便的操作大量資料。陣列的定義 1 陣列裡面的內容必須是同一型別 2 資料必須有長度限制 一維陣列 一 資料型別 變數名 new 資料型別 長度 陣列定義 string a new string 這裡寫陣列包...

二維陣列,多維陣列

一.二維陣列 二維陣列的定義 資料型別 陣列名 常量表示式1 常量表示式2 例如 int array 3 3 二維陣列array 3 3 相當於是由三個含有三個元素的一維陣列所組成的.陣列元素個數怎麼求 兩個維度的下標相乘 訪問二維陣列中的元素 雙下標 多維陣列 三維陣列 陣列名 常量表示式1 常量...

一維陣列複習,二維陣列與多維陣列

輸入班級人數,輸入每個人的分數,求班級最高分,最低分,以及去掉兩個最高分並且去掉兩個最低分之後的所有人員的平均分。輸入班級人數,輸入乙個人名,輸入乙個分數。求班級最高分是多少,是誰的分數 注意姓名跟分數對應 運用兩個一維陣列 運用乙個一維陣列 乙個元素是乙個點,一維陣列是一條線,二維陣列是乙個面,三...