099 函式傳參與它的返回值

2021-10-05 23:27:10 字數 2736 閱讀 4350

變數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...