0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan1 halaman

Pointer dan Alokasi Memori Dinamik

Dokumen ini adalah program C++ yang mendemonstrasikan penggunaan pointer untuk tipe dasar dan alokasi variabel dinamis. Program ini mengalokasikan memori untuk integer dan float, serta mencetak alamat dan nilai dari variabel yang terlibat. Selain itu, terdapat penjelasan mengenai ukuran tipe data dan pointer yang digunakan dalam program.

Diunggah oleh

yukannahinoishi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
11 tayangan1 halaman

Pointer dan Alokasi Memori Dinamik

Dokumen ini adalah program C++ yang mendemonstrasikan penggunaan pointer untuk tipe dasar dan alokasi variabel dinamis. Program ini mengalokasikan memori untuk integer dan float, serta mencetak alamat dan nilai dari variabel yang terlibat. Selain itu, terdapat penjelasan mengenai ukuran tipe data dan pointer yang digunakan dalam program.

Diunggah oleh

yukannahinoishi
Hak Cipta
© All Rights Reserved
Kami menangani hak cipta konten dengan serius. Jika Anda merasa konten ini milik Anda, ajukan klaim di sini.
Format Tersedia
Unduh sebagai TXT, PDF, TXT atau baca online di Scribd

/*

-----------------------------------------------------------------------------------
---------- */
/* File Program : [Link] */
/* Deskripsi : pointer ke type dasar, mendeklarasikan & alokasi variabel dinamik */
/*
-----------------------------------------------------------------------------------
---------- */
#include <stdlib.h>
#include <stdio.h>
int main()
{
/* Kamus Data (deklarasi, inisialisasi nilai variabel)*/
int i = 5;
int j;
char c = 'X';
int *Ptri = (int *) malloc(4);//mengalokasikan 4 bytes di heap
int *Ptrj = (int *) malloc(sizeof(int));//mengalokasikan ukuran integer walaupun
tergantung computer architecture
float *fx = (float *) malloc(sizeof(float));//memesan 1 tempat memori untuk float
int A[5];
float f = 7.23;
/* program */
*Ptri = 8;
*Ptrj = 1989;
*fx = 3;
printf("Alamat i = %x \n", &i);
printf("Nilai i = %d \n", i);
printf("Ukuran int = %d byte\n\n", sizeof(int));
printf("Alamat j = %x \n", &j);
printf("Nilai j = %d \n", j);
printf("Alamat c = %x \n", &c);
printf("Nilai c = %c \n", c);
printf("Ukuran char = %d byte\n\n", sizeof(char));
printf("Alamat Ptri = %x \n", &Ptri);
printf("Isi var Ptri = %x \n", Ptri);
printf("Nilai yang ditunjuk oleh Ptri = %d \n", *Ptri);
printf("Ukuran pointer int = %d byte\n\n", sizeof(int *));
printf("Alamat Ptrj = %x \n", &Ptrj);
printf("Isi var Ptrj = %x \n", Ptrj);
printf("Nilai yang ditunjuk oleh Ptrj = %d \n", *Ptrj);
//harusnya memakai free(Ptrj) kecuali ditampung oleh yang lain
Ptrj = Ptri;
printf("Isi var Ptrj sekarang = %x \n", Ptrj);
printf("Nilai yang ditunjuk oleh Ptrj sekarang = %d \n", *Ptrj);
printf("Alamat A = %x \n", &A);
printf("Isi var A = %x \n", A[0]);
printf("Ukuran array A = %d byte\n\n", sizeof(A));
printf("Alamat f = %x \n", &f);
printf("Nilai f = %f \n", f);
printf("Ukuran float = %d byte\n\n", sizeof(float));
//harusnya free(Ptrj) free(fx) walaupun saat program berakhir dia akan membebskan
dengan sendirinya
return 0;
}

Anda mungkin juga menyukai