Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Definisi fungsi menentukan nama fungsi, jenis dan jumlah parameter yang diharapkan untuk diterima, dan jenis pengembaliannya. Definisi fungsi juga mencakup isi fungsi dengan deklarasi variabel lokalnya, dan pernyataan yang menentukan apa yang dilakukan fungsi.
Sintaksis
translation-unit:
external-declaration
translation-unit
external-declaration
external-declaration: /* Hanya diperbolehkan pada cakupan eksternal (file) */
function-definition
declaration
function-definition:
declaration-specifiers
Memilihattribute-seqMemilihdeclaratordeclaration-listMemilihcompound-statement
/*
attribute-seq adalah */ khusus Microsoft
Parameter prototipe adalah:
declaration-specifiers:
storage-class-specifier
declaration-specifiers
Memilih
type-specifier
declaration-specifiers
Memilih
type-qualifier
declaration-specifiers
Memilih
declaration-list:
declaration
declaration-list
declaration
declarator:
pointer
Memilihdirect-declarator
direct-declarator: /* Deklarator fungsi */
direct-declarator
(
parameter-type-list
) /* Deklarator gaya baru */
direct-declarator
(
identifier-list
Memilih) /* Deklarator gaya usang */
Daftar parameter dalam definisi menggunakan sintaks ini:
parameter-type-list: /* Daftar parameter */
parameter-list
parameter-list
, ...
parameter-list:
parameter-declaration
parameter-list
,
parameter-declaration
parameter-declaration:
declaration-specifiers
declarator
declaration-specifiers
abstract-declarator
Memilih
Daftar parameter dalam definisi fungsi gaya lama menggunakan sintaks ini:
identifier-list: /* Digunakan dalam definisi dan deklarasi fungsi gaya usang */
identifier
identifier-list
,
identifier
Sintaks untuk isi fungsi adalah:
compound-statement:
{
declaration-list
Memilihstatement-listMemilih}
Satu-satunya penentu kelas penyimpanan yang dapat memodifikasi deklarasi fungsi adalah extern dan static. Penentu extern menandakan bahwa fungsi dapat direferensikan dari file lain; yaitu, nama fungsi diekspor ke linker. Penentu static menandakan bahwa fungsi tidak dapat direferensikan dari file lain; yaitu, nama tidak diekspor oleh linker. Jika tidak ada kelas penyimpanan yang muncul dalam definisi fungsi, extern diasumsikan. Bagaimanapun, fungsi selalu terlihat dari titik definisi ke akhir file.
declaration-specifiers Opsional dan wajib declarator bersama-sama menentukan jenis dan nama pengembalian fungsi.
declarator adalah kombinasi pengidentifikasi yang memberi nama fungsi dan tanda kurung mengikuti nama fungsi. Nonterminal opsional attribute-seq adalah fitur khusus Microsoft yang ditentukan dalam Atribut Fungsi.
direct-declarator (dalam declarator sintaks) menentukan nama fungsi yang ditentukan dan pengidentifikasi parameternya.
direct-declarator Jika menyertakan parameter-type-list, daftar menentukan jenis semua parameter. Deklarator semacam itu juga berfungsi sebagai prototipe fungsi untuk panggilan nanti ke fungsi.
declaration Dalam declaration-list definisi fungsi tidak boleh berisi storage-class-specifier selain register.
type-specifier Dalam sintaksis dapat dihilangkan declaration-specifiers hanya jika register kelas penyimpanan ditentukan untuk nilai jenisint.
compound-statement adalah isi fungsi yang berisi deklarasi variabel lokal, referensi ke item yang dideklarasikan secara eksternal, dan pernyataan.
Bagian Atribut Fungsi, Kelas Penyimpanan, Jenis Pengembalian, Parameter, dan Isi Fungsi menjelaskan komponen definisi fungsi secara rinci.