1樓:己聞楣
使用動態陣列即可,即宣告為「array of 基礎型別」的。
首先,根據你的陣列元素型別,宣告一個新的型別。假設陣列為整數陣列,示例如下:
type
tarray_integer = array of integer;
function makerandomintegers( var andata : tarray_integer ) : integer;
vari : integer;
begin
result := 1 + random( 20 );
setlength( andata, result );
for i := 0 to result - 1 do
andata[i] := random( 1000 );
end;
如呼叫這個函式,將會構建一個動態陣列,長度隨機,裡面也存放著隨機數,完整的呼叫和訪問邏輯示例如下:
varmydata : tarray_integer;
i, l : integer;
.......
begin
l := makerandomintegers( mydata ); // 函式返回了隨機長度,如某些函式不返回長度,也可以用length( mydata )來獲取實際長度
// 注意:動態陣列的下標固定地從0開始
for i := 0 to l - 1 do
showmessage( format( '整數#%d: %d', [ i +1, mydata[i] ] ) );
end;
2樓:
可以傳遞引用,var為引用, 返回陣列長度function foo(var a:array of integer;):integer;
begin
result:=5;
end;
也可以用tlist代替資料,本身支援記錄長度
c如何函式返回值,c如何函式返回值
返回值是右值 只能在等號右邊 可以用一個變數來接受收 函式也可以通過引用和指標來改變外部變數的值 c 中的返回值指的是什麼?首先,c語言中的函式有兩種形式 1 有返回值,2 無返回值。有返回值的函式會把內執行的結果 容也就是你寫這個函式的目的 返回到主函式中。沒有返回值的函式主要是為了完成某種任務 ...
關於C 函式返回值的問題,C 函式返回值問題
include class test public test int x 0 i x cout 新建的該物件的地址為 test cout 析構地址為 正確輸出,不過你的 確實認人匪姨所思 與實參的問題 以一個簡單的程式為例來說明 void mswapa int a,int b 這 兩個函式都是交換a...
dll裡面的c函式如何向python返回陣列
是想採用python呼叫c寫成的dll呢?還是想將c寫的dll封裝成python模組呢?如果是前者可以使用ctypes,如果是後者可以使用swig或者boost進行封裝 python 呼叫c 程式,c 程式如何返回陣列給python c c 不能直bai接返回一個數du組。這是由於在c c 中,陣列...