變數var_store 被宣告為stuff 型別,並且對於其判別式預設為初始化值2。名為var_store 的變數還有另乙個屬性,那就是能夠在程式執行期間將其判別式更改為任何合法值。名為data_store 和big_store 的兩個變數的判別式分別固定為5和12,在程式執行期間不能更改。
with ada.text_io, ada.integer_text_io;
use ada.text_io, ada.integer_text_io;
procedure discrim3 is
type square is array
(integer range <
>
, integer range <
>
) of integer;
type linear_type is array
(integer range <
>
) of positive;
subtype small_pos is positive range 1.
.20;
type stuff
(list_size : small_pos :=2
) is
record
matrix :
square(1.
.list_size,
1..list_size)
; elements : integer :
= list_size * list_size;
linear :
linear_type(1.
.list_size)
; number : integer :
= list_size;
end record;
data_store :
stuff(5
);big_store :
stuff(12
);var_store : stuff;
function add_elements
(in_array : stuff)
return integer is
total : integer :=0
; begin
for index1 in in_array.matrix'range(1
) loop
for index2 in in_array.matrix'range(2
) loop
total :
= total + in_array.
matrix
(index1, index2)
; end loop;
end loop;
return total;
end add_elements;
procedure set_to_ones
(work_array : in out stuff) is -- 注意這裡 過程的返回值,以及引數是以同乙個物件work_array來呈現的,如果想要傳入乙個物件,對其進行修改並返回那麼就需要 在引數列表中寫上 《傳入引數/返回引數》 in out 《引數的型別》
begin
for index1 in work_array.matrix'range(1
) loop
for index2 in work_array.matrix'range(2
) loop
work_array.
matrix
(index1, index2):=
1;end loop;
end loop;
end set_to_ones;
begin
for index1 in 1.
.data_store.list_size loop
data_store.
linear
(index1)
:= index1;
for index2 in 1.
.data_store.list_size loop
data_store.
matrix
(index1, index2)
:= index1 * index2;
end loop;
end loop;
var_store :
= data_store;
put(
"the total of var_store is ");
put(
add_elements
(var_store),4
);new_line;
set_to_ones
(var_store)
;put
("the total of var_store is ");
put(
add_elements
(var_store),4
);new_line;
set_to_ones
(big_store)
; var_store :
= big_store;
put(
"the total of var_store is ");
put(
add_elements
(var_store),4
);new_line;
end discrim3;
關於C 對函式傳參與函式返回值進行引用傳遞的詳解
關於c 對函式傳參與函式返回值進行引用傳遞的詳解 讀之前,請確定您已經知道引用傳遞是個什麼東東,只是對它有點混淆。沒聽過引用傳遞或沒讀過引用傳遞概念的同學不適合讀本文。例子程式 例1.乙個編譯不過去的程式 ok,下面進入正題。如果我想利用fun函式來實現令mycopy1與mycopy2兩個變數共用同...
函式傳參以及函式的返回值
1.形式 其中在函式內部的a叫做形參,而呼叫函式裡的100叫做實參 function 在此處傳參 fn1 100 function fn1 a 可以相當於 fn1 100 function fn1 var a 100 但不能這麼寫2.也可以傳多個引數,如 fn1 100,px function fn...
關於函式傳參及返回值
很多剛學指標的人多會遇到這樣的情況,就是你給乙個函式傳遞乙個指標變數,在這個函式中為這個指標申請空 間,賦值,可是等函式結束後這個指標還是乙個空指標,對其的操作編譯器會報段錯誤或乾脆給你乙個莫名其妙的值,這是乙個隨機數。如 include include int my fun int p int m...