Halo, selamat datang kembali. Ini akan menjadi tugas terakhir kami, tantangan terakhir
kami untuk bagian penunjuk kami.
Dalam tantangan ini, saya ingin Anda memahami
cara kerja alokasi memori dinamis. Jadi, Anda perlu malloc string.
Ini akan menjadi sangat mendasar.
Tapi itu akan membuat Anda
memahami seluruh konsep alokasi memori dinamis ini.
Apa keuntungan dari alokasi memori dinamis?
Nah, itu artinya kamu bisa mengalokasikan memori yang cukup saat kamu membutuhkannya.
Anda tidak perlu membuang memori. Dan jika Anda membutuhkan lebih banyak memori, Anda dapat mengalokasikan ulang.
Tugas ini hanya akan membuat Anda menggunakan malloc.
Jadi dalam tantangan ini, Anda akan menulis sebuah program yang menguji pemahaman Anda tentang alokasi memori dinamis.
Saya ingin Anda menulis program yang memungkinkan pengguna memasukkan string teks.
Jadi, Anda harus menggunakan scanf. Anda juga dapat menggunakan git s,
kami belum banyak membicarakannya, tetapi git s atau f git s pada
aliran input standar akan memungkinkan Anda membaca
string yang berisi spasi. Ingat, scanf itu
hanya akan membaca string hingga spasi.
Jika Anda menggunakan git s, Anda dapat membaca beberapa string yang dipisahkan oleh
spasi, keduanya baik-baik saja, scanf atau git s.
Anda akan meminta pengguna memasukkan string. Program akan mencetak teks
yang telah diinput.
Itu mungkin tampak sangat mudah, tetapi perbedaannya di sini adalah bahwa program akan
menggunakan alokasi memori dinamis.
Anda juga dapat meminta pengguna memasukkan batas string yang mereka masukkan,
dan kemudian Anda dapat menggunakannya untuk malloc, sehingga Anda tahu berapa banyak byte yang harus dialokasikan.
Anda harus membuat pointer char, hanya pointer karakter, tidak ada array karakter.
Saya ingin Anda mengalokasikan memori. Ingat, ketika Anda membuat array karakter,
memori secara otomatis sudah dialokasikan untuk Anda berdasarkan ukuran
yang Anda masukkan
ke dalam tanda kurung. Dan lagi, kerugian besar dari itu sekarang adalah bagaimana
jika Anda mencoba memasukkan sesuatu yang lebih besar dari yang Anda masukkan ke dalam ukuran, Anda harus mengkompilasi ulang.
Ini statis. Memori itu dialokasikan pada waktu kompilasi.
Memori dinamis dialokasikan saat Anda menjalankan program.
Dan Anda dapat menentukan berapa banyak memori yang ingin Anda alokasikan berdasarkan apa yang dimasukkan pengguna.
Jadi sekali lagi, minta pengguna memasukkan angka untuk jumlah
byte yang ingin Anda alokasikan untuk string.
Kemudian minta pengguna untuk memasukkan string.
Dan Anda harus mengalokasikan memori dengan benar dan kemudian meneruskan penunjuk karakter itu ke
scanf atau git
s dan pada dasarnya hanya menampilkan teks yang dimasukkan.
Dan terakhir, jangan lupakan semua fungsi gratis yang penting.
Anda selalu ingin melepaskan memori Anda setelah selesai
menggunakannya dan Anda ingin memastikan bahwa Anda melakukannya sehingga program lain
dapat menggunakan memori itu. Memori adalah sumber
daya yang langka, terutama pada program real-time sistem
tertanam, jadi jangan memonopoli memori, lepaskan.
Semoga berhasil, dan saya akan memberikan solusi di kuliah berikutnya. Terima kasih.