Download - Spt3102 fungsi(0910)
FUNGSIFUNGSISPT 3102SPT 3102
FUNGSIFUNGSI
Elemen fungsiElemen fungsi Skop pembolehubah dan fungsiSkop pembolehubah dan fungsi Pembolehubah auto dan statikPembolehubah auto dan statik
ELEMEN FUNGSIELEMEN FUNGSI Satu entiti dalam aturcara C++ yang mengandungi Satu entiti dalam aturcara C++ yang mengandungi
satu set arahan untuk melakukan tugas.satu set arahan untuk melakukan tugas.
Dua kategori fungsi:Dua kategori fungsi: Fungsi takrifan pengguna – fungsi yang Fungsi takrifan pengguna – fungsi yang
direkabentuk dan ditulis sendiri oleh pengaturcaradirekabentuk dan ditulis sendiri oleh pengaturcara Fungsi piawai perpustakaan - untuk Fungsi piawai perpustakaan - untuk
menggunakan fungsi-fungsi ini, fail kepala perlu menggunakan fungsi-fungsi ini, fail kepala perlu dimasukkan, contoh cout dan cin dengan dimasukkan, contoh cout dan cin dengan memasukkan fail kepala iostreammemasukkan fail kepala iostream
Contoh fungsi takrifan pengguna mudah:Contoh fungsi takrifan pengguna mudah:
int luas_segiempat (int panjang, int lebar)int luas_segiempat (int panjang, int lebar)
{{
int luas;int luas;
luas = panjang * lebar;luas = panjang * lebar;
return luas;return luas;
} }
ELEMEN FUNGSIELEMEN FUNGSI
ELEMEN FUNGSIELEMEN FUNGSI Contoh fungsi piawai perpustakaanContoh fungsi piawai perpustakaan math.hmath.h
sqrt (16)sqrt (16) ceil (3.5)ceil (3.5)
conio.hconio.h getch( )getch( )
Stdlib.hStdlib.h exit( )exit( ) system( )system( )
time.htime.h ctime( )ctime( )
ELEMEN FUNGSIELEMEN FUNGSI
Tiga elemen penting fungsiTiga elemen penting fungsi Takrifan fungsiTakrifan fungsi Memanggil fungsiMemanggil fungsi Prototaip fungsiPrototaip fungsi
ELEMEN FUNGSIELEMEN FUNGSI
Takrifan fungsi adalah menggunakan sintaks Takrifan fungsi adalah menggunakan sintaks berikut:berikut:
Jenis_fungsi Nama_fungsi ( Senarai Parameter)Jenis_fungsi Nama_fungsi ( Senarai Parameter)
{{
……badan fungsibadan fungsi
}}
ELEMEN FUNGSIELEMEN FUNGSI
Contoh fungsi mudah:Contoh fungsi mudah:
int luas_segiempat (int panjang, int lebar)int luas_segiempat (int panjang, int lebar)
{{
int luas;int luas;
luas = panjang * lebar;luas = panjang * lebar;
return luas;return luas;
} }
Jenis Nama Senarai parameter
Badan fungsi
ELEMEN FUNGSIELEMEN FUNGSI Jenis fungsiJenis fungsi
Memulangkan satu nilai kepada pemanggilnya apabila proses pengiraan tamat Memulangkan satu nilai kepada pemanggilnya apabila proses pengiraan tamat dilaksanakan.dilaksanakan.
Jenis fungsi terdiri daripada jenis data asas seperti int, char, float atau double.Jenis fungsi terdiri daripada jenis data asas seperti int, char, float atau double. Void digunakankan apabila tiada nilai dipulangkan oleh fungsi.Void digunakankan apabila tiada nilai dipulangkan oleh fungsi.
Nama fungsiNama fungsi Seperti pembolehubah, nama fungsi perlu unikSeperti pembolehubah, nama fungsi perlu unik Tidak boleh menggunakan kata simpanTidak boleh menggunakan kata simpan Nama fungsi piawai perlu dielakkan penggunaannya (cth: sqrt)Nama fungsi piawai perlu dielakkan penggunaannya (cth: sqrt)
Senarai parameterSenarai parameter Parameter – merupakan satu kandungan yang terdiri daripada pemalar atau Parameter – merupakan satu kandungan yang terdiri daripada pemalar atau
nilai bagi suatu pembolehubah yang dihantar kepada suatu fungsinilai bagi suatu pembolehubah yang dihantar kepada suatu fungsi Terdapat dua jenis parameterTerdapat dua jenis parameter
Parameter formalParameter formal Merupakan pembolehubah pada fungsi yang dipanggil,Merupakan pembolehubah pada fungsi yang dipanggil, Pembolehubah ini menerima suatu nilai yang dihantar oleh fungsi pemanggilPembolehubah ini menerima suatu nilai yang dihantar oleh fungsi pemanggil Cth: int luas_segiempat(int panjang, int lebar); //panjang dan lebar adalah parameter Cth: int luas_segiempat(int panjang, int lebar); //panjang dan lebar adalah parameter
formalformal
ELEMEN FUNGSIELEMEN FUNGSI Parameter sebenar /argumenParameter sebenar /argumen
Ialah nilai yang dihantar oleh suatu pembolehubah pada fungsi Ialah nilai yang dihantar oleh suatu pembolehubah pada fungsi pemanggilpemanggil
Cth: luas_segiempat(4,6) //4 dan 6 adalah parameter sebenarCth: luas_segiempat(4,6) //4 dan 6 adalah parameter sebenar Senarai parameter adalah bilangan parameter yang dihantar Senarai parameter adalah bilangan parameter yang dihantar
daripada fungsi pemanggil pada fungsi yang dipanggildaripada fungsi pemanggil pada fungsi yang dipanggil Bilangan dan jenis parameter daripada fungsi pemanggil Bilangan dan jenis parameter daripada fungsi pemanggil
perlu sama dengan fungsi yang dipanggilperlu sama dengan fungsi yang dipanggil
Badan fungsiBadan fungsi Kod-kod aturcara untuk melaksanakan tugasKod-kod aturcara untuk melaksanakan tugas Dimulakan dengan pembuka blok { dan penutup blok }Dimulakan dengan pembuka blok { dan penutup blok }
ELEMEN FUNGSIELEMEN FUNGSI
Memanggil fungsiMemanggil fungsi Untuk melakukan sesuatu tugas, fungsi perlu Untuk melakukan sesuatu tugas, fungsi perlu
dipanggildipanggil Terdapat tiga perkara perlu diketahui sebelum Terdapat tiga perkara perlu diketahui sebelum
fungsi dapat dipanggilfungsi dapat dipanggil Nama fungsiNama fungsi Parameter yang diperlukanParameter yang diperlukan Nilai yang akan dipulangkanNilai yang akan dipulangkan
ELEMEN FUNGSIELEMEN FUNGSI
Nama fungsiNama fungsi Fungsi dapat dipanggil dengan menulis kembali Fungsi dapat dipanggil dengan menulis kembali
nama fungsi yang hendak dipanggilnama fungsi yang hendak dipanggil Selepas itu, diikuti dengan bilangan data yang Selepas itu, diikuti dengan bilangan data yang
diperlukan dengan urutan yang betuldiperlukan dengan urutan yang betul Contoh:Contoh:
luas_segiempat (void);luas_segiempat (void); luas_segiempat (4, 4);luas_segiempat (4, 4);
ELEMEN FUNGSIELEMEN FUNGSI
Data yang dihantar kepada fungsi perlu terdiri Data yang dihantar kepada fungsi perlu terdiri daripada jenis yang sama seperti yang telah daripada jenis yang sama seperti yang telah ditakrifkan pada senarai fungsiditakrifkan pada senarai fungsi
Bilangan data dan urutan juga perlu sama Bilangan data dan urutan juga perlu sama seperti dalam takrifan fungsiseperti dalam takrifan fungsi
Data-data yang dihantar akan digunakan Data-data yang dihantar akan digunakan sebagai nilai parameter fungsi yang dipanggil sebagai nilai parameter fungsi yang dipanggil
ELEMEN FUNGSIELEMEN FUNGSI
Contoh panggilan fungsi luas_segiempat:Contoh panggilan fungsi luas_segiempat:
luas_segiempat ( 4 , 6 )luas_segiempat ( 4 , 6 )
int luas_segiempat (int panjang, int lebar)int luas_segiempat (int panjang, int lebar){{
int luas; int luas; luas = panjang * lebar; luas = panjang * lebar; return luas;return luas;
} }
ELEMEN FUNGSIELEMEN FUNGSI Contoh cetakan segiempat ‘*’:Contoh cetakan segiempat ‘*’:
cetak_segiempat ( 4, 5, ‘*’)cetak_segiempat ( 4, 5, ‘*’)
void cetak_segiempat ( int panjang, int lebar, char simbol)void cetak_segiempat ( int panjang, int lebar, char simbol){{
for ( int x = 1; x <= panjang; x++)for ( int x = 1; x <= panjang; x++) {{
cout<<endl;cout<<endl;for (int y=1; y<= lebar; y++)for (int y=1; y<= lebar; y++) cout<<simbol; cout<<simbol;
}}
}}
ELEMEN FUNGSIELEMEN FUNGSI Contoh:Contoh:
1. cetak_segiempat (3, 6, ‘*’)1. cetak_segiempat (3, 6, ‘*’)
2. cetak_segiempat (6, 3, ‘*’)2. cetak_segiempat (6, 3, ‘*’)
3. cetak_segiempat (‘*’, 3, 6)3. cetak_segiempat (‘*’, 3, 6)
Output:Output:1. ******
************
2. ******************
3. ?
ELEMEN FUNGSIELEMEN FUNGSI
Pemulangan nilai berlaku apabila fungsi bukan Pemulangan nilai berlaku apabila fungsi bukan dari jenis voiddari jenis void
Nilai yang dipulangkan perlu diuruskan Nilai yang dipulangkan perlu diuruskan dengan betul oleh pengaturcaradengan betul oleh pengaturcara MemprosesMemproses MenyimpanMenyimpan MencetakMencetak
ELEMEN FUNGSIELEMEN FUNGSI
Contoh pengunaan:Contoh pengunaan: Menyimpan nilaiMenyimpan nilai
luas = luas_segiempat(4, 4);luas = luas_segiempat(4, 4); Mencetak nilaiMencetak nilai
cout<<luas_segiempat(4, 4);cout<<luas_segiempat(4, 4); Memproses nilaiMemproses nilai
if(luas_segiempat(4, 4) = = 0)if(luas_segiempat(4, 4) = = 0)cout<<“Satu titik”;cout<<“Satu titik”;
elseelsecout<<“Segiempat”;cout<<“Segiempat”;
ELEMEN FUNGSIELEMEN FUNGSI
Prototaip fungsiPrototaip fungsi Seperti pembolehubah, fungsi perlu diisytiharkan terlebih Seperti pembolehubah, fungsi perlu diisytiharkan terlebih
dahulu sebelum digunakandahulu sebelum digunakan Pengisytiharaan fungsi ini dikenali sebagai prototaip fungsiPengisytiharaan fungsi ini dikenali sebagai prototaip fungsi Digunakan untuk memastikan bilangan dan jenis parameter Digunakan untuk memastikan bilangan dan jenis parameter
yang dihantar oleh fungsi pemanggil adalah sama dengan yang dihantar oleh fungsi pemanggil adalah sama dengan bilangan dan jenis fungsi yang dipanggilbilangan dan jenis fungsi yang dipanggil
Prototaip fungsi perlu dilakukan sekiranya fungsi dipanggil Prototaip fungsi perlu dilakukan sekiranya fungsi dipanggil dalam aturcara utama sebelum takrifan fungsi dibuatdalam aturcara utama sebelum takrifan fungsi dibuat
ELEMEN FUNGSIELEMEN FUNGSI
Sintaks prototaip fungsi:Sintaks prototaip fungsi: Jenis_fungsi Nama_fungsi (Jenis parameter);Jenis_fungsi Nama_fungsi (Jenis parameter);
Contoh:Contoh: int luas_segiempat (int, int)int luas_segiempat (int, int) void menu_utama (void)void menu_utama (void) char gred (float)char gred (float)
ELEMEN FUNGSIELEMEN FUNGSI Contoh aturcara-Takrifan fungsi dibuat di bawah fungsi utama:Contoh aturcara-Takrifan fungsi dibuat di bawah fungsi utama:
1.1. #include <iostream.h> //fail kepala untuk cout dan cin#include <iostream.h> //fail kepala untuk cout dan cinvoid main( )void main( ) //fungsi utama tanpa pemulangan nilai//fungsi utama tanpa pemulangan nilai{{int luas_segiempat (int, int); //pengisytiharaan fungsiint luas_segiempat (int, int); //pengisytiharaan fungsicout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<endl; //cetakan baris barucout<<endl; //cetakan baris baru}}
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempatint luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat{{
int luas; //pengisytiharaan pembolehubahint luas; //pengisytiharaan pembolehubahluas = panjang * lebar; //proses pengiraan luasluas = panjang * lebar; //proses pengiraan luasreturn luas; //pemulangan nilai intreturn luas; //pemulangan nilai int
} }
ELEMEN FUNGSIELEMEN FUNGSI Contoh aturcara-Takrifan fungsi dibuat di bawah fungsi utama:Contoh aturcara-Takrifan fungsi dibuat di bawah fungsi utama:
2.2. #include <iostream.h> //fail kepala untuk cout dan cin#include <iostream.h> //fail kepala untuk cout dan cin
int luas_segiempat (int, int); //pengisytiharaan fungsiint luas_segiempat (int, int); //pengisytiharaan fungsi
void main( )void main( ) //fungsi utama tanpa pemulangan nilai//fungsi utama tanpa pemulangan nilai{{cout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<luas_segiempat(4,4); //pemangilan fungsi luas segiempatcout<<luas_segiempat(4,4); //pemangilan fungsi luas segiempatcout<<endl; //cetakan baris barucout<<endl; //cetakan baris baru}}
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempatint luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat{{
int luas; //pengisytiharaan pembolehubahint luas; //pengisytiharaan pembolehubahluas = panjang * lebar; //proses pengiraan luasluas = panjang * lebar; //proses pengiraan luasreturn luas; //pemulangan nilai intreturn luas; //pemulangan nilai int
} }
ELEMEN FUNGSIELEMEN FUNGSI Contoh aturcara-Takrifan fungsi dibuat di atas fungsi utama:Contoh aturcara-Takrifan fungsi dibuat di atas fungsi utama:
3.3. #include <iostream.h> //fail kepala untuk cout dan cin#include <iostream.h> //fail kepala untuk cout dan cin
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempatint luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat{{
int luas; //pengisytiharaan pembolehubahint luas; //pengisytiharaan pembolehubahluas = panjang * lebar; //proses pengiraan luasluas = panjang * lebar; //proses pengiraan luasreturn luas; //pemulangan nilai intreturn luas; //pemulangan nilai int
} }
void main( )void main( ) //fungsi utama tanpa pemulangan nilai//fungsi utama tanpa pemulangan nilai{{cout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<endl; //cetakan baris barucout<<endl; //cetakan baris baru}}
ELEMEN FUNGSIELEMEN FUNGSI
Penghantaran nilai kepada fungsiPenghantaran nilai kepada fungsi Penghantaran nilai sebenarPenghantaran nilai sebenar Penghantaran alamat nilaiPenghantaran alamat nilai
Penghantaran nilai sebenarPenghantaran nilai sebenar PemalarPemalar cth: luas_segiempat(2, 2)cth: luas_segiempat(2, 2) PembolehubahPembolehubah cth: luas_segiempat( x, y)cth: luas_segiempat( x, y) UngkapanUngkapan cth: luas_segiempat((x-2), (y-4))cth: luas_segiempat((x-2), (y-4))
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Menentukan kawasan di mana sesuatu pembolehubah Menentukan kawasan di mana sesuatu pembolehubah boleh digunakanboleh digunakan
Konsep ini penting untuk menentukan perkongsian Konsep ini penting untuk menentukan perkongsian pembolehubahpembolehubah
Skop pembolehubah dan fungsi ditentukan oleh Skop pembolehubah dan fungsi ditentukan oleh tempat dimana pembolehubah dan fungsi beradatempat dimana pembolehubah dan fungsi berada
Terdapat dua jenis skop:Terdapat dua jenis skop: SetempatSetempat SejagatSejagat
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Pembolehubah sejagatPembolehubah sejagat Boleh dicapai oleh semua fungsi yang berada Boleh dicapai oleh semua fungsi yang berada
dalam aturcara yang samadalam aturcara yang sama Hayat pembolehubah sejagat adalah sepanjang Hayat pembolehubah sejagat adalah sepanjang
perlaksanaan aturcaraperlaksanaan aturcara Lokasi pembolehubah sejagat adalah di luar fungsi Lokasi pembolehubah sejagat adalah di luar fungsi
mainmain
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Contoh pembolehubah sejagat:Contoh pembolehubah sejagat:#include<iostream.h>#include<iostream.h>int x, y;int x, y; //pembolehubah sejagat//pembolehubah sejagat
void main( )void main( ){{
int hasil;int hasil;x = 2; y = 4;x = 2; y = 4; //capai dan ubah pembolehubah sejagat//capai dan ubah pembolehubah sejagathasil = x * y;hasil = x * y;cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;cout<<“ adalah ”<< hasil; cout<<“ adalah ”<< hasil;
}}
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Pembolehubah setempatPembolehubah setempat Hanya dapat dicapai oleh fungsi yang mempunyai Hanya dapat dicapai oleh fungsi yang mempunyai
pembolehubah jenis inipembolehubah jenis ini Lokasi pembolehubah jenis ini adalah di dalam Lokasi pembolehubah jenis ini adalah di dalam
sesuatu fungsisesuatu fungsi Hayat pemboleubah jenis ini berakhir apabila Hayat pemboleubah jenis ini berakhir apabila
fungsi tamat melakukan tugasfungsi tamat melakukan tugas
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Contoh pembolehubah setempat:Contoh pembolehubah setempat:#include<iostream.h>#include<iostream.h>int x, y;int x, y;
void main( )void main( ){{
int hasil; //pembolehubah setempatint hasil; //pembolehubah setempatx = 2; y = 4;x = 2; y = 4;
hasil = x * y; //capai dan guna pembolehubah setempathasil = x * y; //capai dan guna pembolehubah setempat
cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;cout<<“Hasil darab dua nombor ”<<x<<“ dan ” <<y;cout<<“ adalah ”<< hasil; cout<<“ adalah ”<< hasil;
}}
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Skop fungsi terdiri daripada:Skop fungsi terdiri daripada: Prototaip sejagatPrototaip sejagat Prototaip setempatPrototaip setempat
Prototaip sejagatPrototaip sejagat Diisytiharkan diluar fungsi mainDiisytiharkan diluar fungsi main Skop panggilan fungsi bermula daripada ianya Skop panggilan fungsi bermula daripada ianya
diisytiharkan sehingga tamat aturcaradiisytiharkan sehingga tamat aturcara
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
Prototaip setempatPrototaip setempat Diisytiharkan di dalam sesuatu fungsiDiisytiharkan di dalam sesuatu fungsi Skop panggilan fungsi hanya tertumpu pada blok Skop panggilan fungsi hanya tertumpu pada blok
fungsi tersebutfungsi tersebut
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
1.1. #include <iostream.h> //fail kepala untuk cout dan cin#include <iostream.h> //fail kepala untuk cout dan cin
int luas_segiempat (int, int); //pengisytiharaan prototaip fungsi sejagatint luas_segiempat (int, int); //pengisytiharaan prototaip fungsi sejagat
void main( )void main( ) //fungsi utama tanpa pemulangan nilai//fungsi utama tanpa pemulangan nilai{{cout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<luas_segiempat(4,4); //pemangilan fungsi luas segiempatcout<<luas_segiempat(4,4); //pemangilan fungsi luas segiempatcout<<endl; //cetakan baris barucout<<endl; //cetakan baris baru}}
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempatint luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat{{
int luas; //pengisytiharaan pembolehubahint luas; //pengisytiharaan pembolehubahluas = panjang * lebar; //proses pengiraan luasluas = panjang * lebar; //proses pengiraan luasreturn luas; //pemulangan nilai intreturn luas; //pemulangan nilai int
} }
SKOP PEMBOLEHUBAH DAN FUNGSISKOP PEMBOLEHUBAH DAN FUNGSI
2.2. #include <iostream.h> //fail kepala untuk cout dan cin#include <iostream.h> //fail kepala untuk cout dan cinvoid main( )void main( ) //fungsi utama tanpa pemulangan nilai//fungsi utama tanpa pemulangan nilai{{int luas_segiempat (int, int); //pengisytiharaan prototaip fungsi setempatint luas_segiempat (int, int); //pengisytiharaan prototaip fungsi setempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<“Luas segiempat sama dengan sisi 4 adalah ”; //mesej bagi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<luas_segiempat(4,4); //pemangillan fungsi luas segiempatcout<<endl; //cetakan baris barucout<<endl; //cetakan baris baru}}
int luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempatint luas_segiempat (int panjang, int lebar) //takrifan fungsi luas segiempat{{
int luas; //pengisytiharaan pembolehubahint luas; //pengisytiharaan pembolehubahluas = panjang * lebar; //proses pengiraan luasluas = panjang * lebar; //proses pengiraan luasreturn luas; //pemulangan nilai intreturn luas; //pemulangan nilai int
} }
PEMBOLEHUBAH AUTO DAN STATICPEMBOLEHUBAH AUTO DAN STATIC
Pembolehubah automatikPembolehubah automatik Secara defaultnya, semua pembolehubah yang Secara defaultnya, semua pembolehubah yang
digunakan adalah automatikdigunakan adalah automatik Menerangkan hayat pembolehubah setempatMenerangkan hayat pembolehubah setempat Pembolehubah automatik, hayatnya hanya Pembolehubah automatik, hayatnya hanya
sepanjang fungsi dilaksanakan.sepanjang fungsi dilaksanakan. Apabila fungsi tamat, pembolehubah akan Apabila fungsi tamat, pembolehubah akan
dihapuskandihapuskan
PEMBOLEHUBAH AUTO DAN STATICPEMBOLEHUBAH AUTO DAN STATIC
Pembolehubah staticPembolehubah static Nilai pembolehubah kekal setelah fungsi tamatNilai pembolehubah kekal setelah fungsi tamat Arahan pengisytiharaan pembolehubah static dilaksanakan Arahan pengisytiharaan pembolehubah static dilaksanakan
sekali sahajasekali sahaja Apabila fungsi tamat pembolehubah static masih wujud Apabila fungsi tamat pembolehubah static masih wujud
dengan nilai yang sedia ada dari panggilan yang lepasdengan nilai yang sedia ada dari panggilan yang lepas Semua pembolehubah sejagat adalah static manakala Semua pembolehubah sejagat adalah static manakala
pembolehubah setempat perlu diisytiharkan static jika pembolehubah setempat perlu diisytiharkan static jika ianya mahu digunakan sebagai staticianya mahu digunakan sebagai static
PEMBOLEHUBAH AUTO DAN STATICPEMBOLEHUBAH AUTO DAN STATIC Perbezaan pembolehubah auto dan staticPerbezaan pembolehubah auto dan static1. #include<iostream.h>1. #include<iostream.h>
void tambah (void);void tambah (void);void main ( )void main ( ){{
tambah ( );tambah ( );tambah ( );tambah ( );
}}void tambah ( void)void tambah ( void){{
int num = 10;int num = 10;int hasil = 0;int hasil = 0;hasil += num;hasil += num;cout<<hasil;cout<<hasil;cout<<endl;cout<<endl;
} }
2. #include<iostream.h>2. #include<iostream.h>void tambah (void);void tambah (void);void main ( )void main ( ){{
tambah ( );tambah ( );tambah ( );tambah ( );
}}void tambah ( void)void tambah ( void){{
int num = 10;int num = 10;static int hasil = 0;static int hasil = 0;hasil +=num;hasil +=num;cout<<hasil;cout<<hasil;cout<<endl;cout<<endl;
} } Output:1010
Output:1020