atribut array
Array adalah kumpulan data homogen yang diakses oleh indeks atau nomor elemen.
typedef [ [type-attr-list] ] type-specifier [pointer-decl] array-declarator;
typedef [ [type-attr-list] ] struct [ tag ]
{
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
...
};
typedef [ [type-attr-list] ] union [ tag ]
{
[ case (limited-expression [ , ... ] ) ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
[ [ default ]
[ [ field-attribute-list ] ] type-specifier [pointer-decl] array-declarator;
]
};
[[ [function-attribute-list] ]] type-specifier [[pointer-decl]] function-name(
[[ [param-attr-list] ]] type-specifier [[pointer-decl]] array-declarator
, ...);
-
type-attr-list
-
Menentukan nol atau beberapa atribut yang berlaku untuk jenis tersebut. Atribut jenis yang valid termasuk [handle], [switch_type], [transmit_as]; atribut pointer [ref], [unique], atau [ptr]; dan atribut penggunaan [context_handle], [string], dan [abaikan]. Pisahkan beberapa atribut dengan koma.
-
type-specifier
-
Menentukan jenis pengidentifikasi, jenis dasar, struct, union, atau jenis enum . Spesifikasi jenis dapat mencakup spesifikasi penyimpanan opsional.
-
pointer-decl
-
Menentukan nol atau lebih deklarator penunjuk. Deklarator pointer sama dengan deklarator penunjuk yang digunakan dalam C, dibangun dari penunjuk * , pengubah seperti jauh, dan konstitus kualifikasi.
-
array-declarator
-
Menentukan nama array, diikuti oleh salah satu konstruksi berikut untuk setiap dimensi array: "[ ]", "[*]", "[const1]", atau "[lower... atas]" di mana bagian bawah dan atas adalah nilai konstanta yang mewakili batas bawah dan atas. Konstanta yang lebih rendah harus dievaluasi ke nol.
-
tag
-
Menentukan tag opsional untuk struktur atau union.
-
field-attribute-list
-
Menentukan atribut bidang nol atau lebih yang berlaku untuk struktur, anggota serikat, atau parameter fungsi. Atribut bidang yang valid meliputi [first_is], [last_is], [length_is], [max_is], [size_is]; atribut penggunaan [string], dan [abaikan]; atribut penunjuk [ref], [unik], dan [ptr]; dan atribut union [switch_type]. Pisahkan beberapa atribut bidang dengan koma. Perhatikan bahwa atribut yang tercantum di atas, [first_is], [last_is], dan [abaikan] tidak valid untuk serikat.
-
ekspresi terbatas
-
Menentukan ekspresi bahasa C. Kompilator MIDL mendukung ekspresi kondisional, ekspresi logis, ekspresi relasional, dan ekspresi aritmatika. MIDL tidak mengizinkan pemanggilan fungsi dalam ekspresi dan tidak memungkinkan operator kenaikan dan penurunan.
-
function-attribute-list
-
Menentukan atribut nol atau lebih yang berlaku untuk fungsi. Atribut fungsi yang valid adalah [callback], [local]; atribut pointer [ref], [unique], atau [ptr]; dan atribut penggunaan [string], dan [context_handle].
-
nama fungsi
-
Menentukan nama prosedur jarak jauh.
-
param-attr-list
-
Menentukan atribut arah dan satu atau beberapa atribut bidang opsional yang berlaku untuk parameter array. Atribut bidang yang valid meliputi [max_is], [size_is], [length_is], [first_is], dan [last_is].
Array di MIDL menggunakan gaya yang mirip dengan tetapi tidak sama persis dengan C dan C++. Untuk informasi selengkapnya, lihat Array MIDL.