c怎麼得到lua傳進來的陣列陣列的大謝確定

2021-09-05 17:46:51 字數 2802 閱讀 4987

1樓:匿名使用者

分兩步走,第一步,c語言如何把資料存到資料庫?方法很多,可以考慮vc的庫函式。 第二步,如何用宿主語言呼叫lua?這方面的資料也不少,我感覺,用c把

c++怎麼傳遞一個陣列到lua

2樓:匿名使用者

陣列的操作,參考例項如下:

陣列其實是一種特殊的**。

int luaarray(lua_state* l);for(int n=0;n

return 1; //push進棧的資料都在設定陣列時自動pop了,所以現在棧裡只有1個資料,就是最開始push的表

}lua獲取剛剛傳的**

array=luaarray()

for i,v in ipairs(array)doprint(v)end

3樓:匿名使用者

lua裡的table和c++裡的陣列差別比較大,我們並不能直接把表簡單的傳過去,所以我們要把陣列轉化成一個table裡可以儲存的方式,因此我們必須遍歷一下c++裡的陣列。

4樓:匿名使用者

只能一個一個壓入 正如樓上所說 c++不存在和lua裡table完全匹配的資料型別

所以我們可以把這個壓入函式寫到lua裡

先在c裡寫一個函式fun

fun把指定的一個全域性變數壓入堆疊

然後把fun註冊到lua裡,假設命名為fun然後在lua裡遍歷表的時候將當前元素賦予那個全域性變數並且呼叫fun這樣做的好處在於 不用每次壓table都要去重新計算table長度當然 只是提供一個思路 如果具體**編寫起來還有困難的話 可以再找我

c++怎麼傳遞一個陣列到lua?

5樓:一騎當後

陣列的操作,參考例項如下:

陣列其實是一種特殊的**。

int luaarray(lua_state* l);for(int n=0;n

return 1; //push進棧的資料都在設定陣列時自動pop了,所以現在棧裡只有1個資料,就是最開始push的表

}lua獲取剛剛傳的**

array=luaarray()

for i,v in ipairs(array)doprint(v)end

在c++中的主函式中,如何定義一個陣列,而這個陣列的大小不確定,大小和數值由使用者從鍵盤輸入?

6樓:阿加莎的三色貓

準確的說,是先使用者輸入 任意的數 temp然後編譯器以temp為陣列大小定義陣列

然後再通過迴圈對陣列的每個成員賦值

順序一定要搞對,陣列大小理論上是不允許動態的,如果動態了,都是錯覺

7樓:匿名使用者

先宣告一個陣列指標 然後根據需要動態分配儲存空間比如int *a;

int n;

cin>>n; //輸入陣列長度

a=new int(n); //動態分配儲存空間//下面就可以對陣列a 進行賦值等操作了

...//最後別忘了用delete釋放儲存空間

8樓:匿名使用者

呵呵int r; //行數

int c; //列數

cout<<"please input the number of rows of the dynamic array: ";

cin>>r; //輸入行數

cout<<"please input the number of columns of the dynamic array: ";

cin>>c; //輸入列數

//建立二維動態陣列

int **p=new int*[r];

for(int i=0;i

cout<<"the array named p["<

9樓:匿名使用者

只能動態分配了啊,別給我說你沒學過。

dobule arr;

int length;

cin>>length;

arr = new double[length];

for(int i = 0; i < length; ++i)cin>>arr[i];

for(int i = 0; i < length; ++i)cout<

delete arr;

c語言中,如何定義大小不確定,由執行時確定大小的陣列

10樓:匿名使用者

#include

#include // malloc, freeint main()

free( p ); // 用完記得釋放

return 0;}

c語言裡面要定義一個字串陣列,陣列元素個數不確定,每個元素的長度也不確定,求動態定義的方法

11樓:匿名使用者

你可以用動態分配記憶體的方法,

比如你要建立一個字串陣列:

char *str;

str=(char *)malloc(n);

n是變數,可以在確定了變數的值後再用以上**分配記憶體,而str字串可以以一般陣列的用法使用,比如*str="hello";的話

str[1]='l';

最後別忘了釋放記憶體

free(str);

c語言呼叫陣列返回陣列怎麼做,C語言呼叫陣列返回陣列怎麼做?

include define min x,y int add 1 main for i 0 i 5 i printf d b i int add 1 int static a 5 return a 注意事項 一 該陣列不能是返回函式的區域性變數陣列,因為區域性變數陣列在退出函式後會被釋放。可以是全域...

C語言陣列int a 31是這個陣列的數都是1對嗎

你的問題不復光是初始化的制問題 int i for i 0 i 3 i 主要出現在這 for i 0 i 3 i 你的baifor迴圈後面接了du一個分號,這樣整個zhifor就變成了空迴圈 而printf 4d a i 只執行了a 3 的輸dao出 因為空迴圈中把i加到了3 但你的陣列只有a 0 ...

C怎麼建立3維陣列啊C怎麼建立一個3維陣列啊

第一種 傳統三維陣列 矩形 定義 例項化 int array new int 5,5,5 使用 array i,j,k a a array i,j,k 第二種 交錯陣列 非矩形 定義 int array null 建立第一維 array new int 5 第二維 array 0 new int 6...