Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Pemrograman Dasar Pointers
2
Memori Dinamis Pada saat menggunakan array, kita sering terbatasi oleh jumlah elemen yang tidak dapat diubah. Dengan menggunakan pointer, masalah tersebut dapat diatasi. C++ menyediakan perintah new, new[], delete dan delete[] untuk mengatur pemakaian memori. Perintah new mengalokasikan memori, sedangkan perintah delete membebaskan memori. Perintah new dan delete digunakan untuk variabel biasa, sedangkan perintah new[] dan delete[] digunakan untuk array.
3
Contoh memori dinamis int main () { int jumlah, i, total=0;
int *pAngka; cout<<"Masukkan jumlah bilangan:";cin>>jumlah; pAngka = new int[jumlah]; for (i=0; i<jumlah; i++) { cout<<"Input angka ke-"<<(i+1)<<":"; cin>>pAngka[i]; } cout<<"Angka yang Anda masukkan:"<<endl; cout<<pAngka[i]<<", "; total+=pAngka[i]; cout<<"\nTotalnya:"<<total<<endl; system("pause"); return 0;
4
Pointer dan fungsi Suatu fungsi dapat menerima argumen berupa referensi . Cara 1: tipeData namaFungsi (tipeData &argumen) { argumen = sesuatu; return sesuatu2; } Dipanggil dengan: namaFungsi(variabel); Cara 2: tipeData namaFungsi (tipeData *argumen) { *argumen = sesuatu; Dipanggil dengan: namaFungsi(&pointer);
5
Pointer dan fungsi string strToUpper(string str) {
for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } return str; int main () { string nama = "Fandi Susanto"; nama = strToUpper(nama); cout<<nama<<endl; system("pause"); return 0;
6
Pointer dan fungsi string strToUpper(string &str) {
for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } return str; int main () { string nama = "Fandi Susanto"; strToUpper(nama); cout<<nama<<endl; system("pause"); return 0;
7
Pointer dan fungsi void strToUpper(string &str) {
for (int i=0; i<str.length(); i++) { str[i] = toupper(str[i]); } //return str; int main () { string nama = "Fandi Susanto"; strToUpper(nama); cout<<nama<<endl; system("pause"); return 0;
8
Pointer dan fungsi void strToUpper(string *str) {
for (int i=0; i< (*str).length(); i++) { (*str)[i] = toupper( (*str)[i] ); } int main () { string nama = "Fandi Susanto"; strToUpper(&nama); cout<<nama<<endl; system("pause"); return 0;
9
Pointer dan fungsi (*str).length() tidak sama dengan *str.length()
*str.length() sama dengan *(str.length()) (*str).length() bisa juga ditulis str->length() void strToUpper(string *str) { for (int i=0; i< str->length(); i++) { (*str)[i] = toupper( (*str)[i] ); } int main () { string nama = "Fandi Susanto"; strToUpper(&nama); cout<<nama<<endl; system("pause"); return 0;
10
Pointer dan struktur Misalkan terdapat sebuah struktur:
struct Mahasiswa { string NPM; string nama; }; Dan sebuah pointer Mahasiswa *pMhs Maka pernyataan (*pMhs).NPM ekivalen dengan pMhs->NPM yang berarti NPM dari struktur yang ditunjuk pointer pMhs. Berbeda dengan pernyataan *pMhs.NPM yang ekivalen dengan *(pMhs.NPM) yang berarti nilai yang ditunjuk oleh pMhs.NPM (pMhs.NPM harus berupa pointer).
11
Contoh pointer ke struktur
struct Mahasiswa { string NPM; string nama; }; int main () { Mahasiswa mahasiswa1; Mahasiswa *pMahasiswa = &mahasiswa1; cout<<"Masukkan NPM mahasiswa: "; getline(cin,pMahasiswa->NPM); cout<<"Masukkan nama mahasiswa: "; getline(cin,pMahasiswa->nama); cout<<"\nNPM mahasiswa:"<<pMahasiswa->NPM<<endl; cout<<"Nama mahasiswa:"<<pMahasiswa->nama<<endl; system("pause"); return 0; }
12
Thank You for your attention
Thanks to: cplusplus.com Pemrograman C++ by Abdul Kadir Yoannita S.Kom & Hermawan S.Kom Sumber slide
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.