Halo, dan selamat datang kembali.
Kami berada di bagian baru.
Di bagian ini, kita akan berbicara tentang string karakter.
Anda mungkin pernah mendengar saya berkata string kata cukup sedikit di
seluruh kelas, dan kamu mungkin sedikit bingung.
Sebuah string benar-benar hanya sebuah kata.
Itu adalah sesuatu yang tertutup dalam tanda kutip ganda.
Kita akan berbicara tentang bagaimana kita bisa menyimpan string dalam array karakter.
Jadi sampai saat ini, kita cukup akrab dengan satu karakter,
tipe data char atau tipe data "peduli", apa pun yang Anda inginkan untuk mengucapkannya. Kami tahu apa itu tetapi kami belum benar-benar
belajar tentang kata-kata.
Untuk menetapkan satu karakter ke variabel char, karakter diapit di
dalam a sepasang tanda petik tunggal.
Kami akrab dengan ini.
Kami
telah mempelajari semua ini. Dalam contoh ini tanda plus sama dengan plus di dalam tanda kutip tunggal.
Yang penting disana adalah kutipan tunggal.
Anda juga telah mempelajarinya di sana adalah perbedaan yang dibuat antara
tanda kutip tunggal dan tanda kutip ganda.
Jadi jika Anda memasukkan variabel tanda plus dan Anda
menetapkan sesuatu dalam tanda kutip ganda dan tanda plus bertipe char, itu tidak
akan berhasil, karena Anda hanya dapat menetapkan satu karakter ke tipe data char.
Sebuah string konstan atau string literal adalah urutan karakter atau simbol antara sepasang
tanda kutip ganda.
Jadi sekarang tanda kutip ganda adalah akan datang drama baru.
Apa pun di antara ganda ini tanda kutip ditafsirkan
oleh kompiler sebagai string.
Dan itu benar-benar bisa karakter alfanumerik, itu bisa berupa
karakter khusus tetapi mereka biasanya membuat kata-kata Anda dapat menganggapnya
sebagai teks.
Anda dapat memiliki spasi.
Tapi apa pun di ganda kutipan adalah string literal.
Setiap kali Anda telah ditampilkan pesan
menggunakan fungsi printf, kami telah mendefinisikan pesan sebagai konstanta string.
Ingat printf, argumen pertama kami menempatkan beberapa teks di dalamnya dan kami
memiliki beberapa penentu format.
Itu adalah konsonan string.
Anda juga mendengar istilah string harfiah itu hal yang sama.
Jadi kita katakan print f ini adalah string segala sesuatu di antara
tanda kutip ganda itu adalah konstanta string dan kita bisa meletakkannya di satu atau dua baris.
Anda juga memperhatikan bahwa Anda bisa memiliki print statement
yang memiliki escape sequence backslash n. Sekarang yang ketiga ini sangat keren, saya akan
menjelaskannya sebentar lagi.
Tapi poin utamanya adalah kamu punya untuk memahami
perbedaan antara tanda kutip tunggal dan ganda kutipan dan apa yang ada di dalamnya.
Dengan tanda kutip ganda, Anda memiliki string.
Dengan tanda kutip tunggal, Anda memiliki karakter.
Ada dua jenis konstanta.
Untuk contoh ketiga ini, printf . ini di mana kita memiliki empat dan kemudian
kita memiliki garis miring terbalik kemudian satu kutipan.
Jika Anda ingin benar-benar menampilkan satu kutipan
sebagai output, Anda harus menghindarinya.
Dan Anda dapat melarikan diri dari spesial karakter dengan menggunakan garis miring terbalik.
Jadi pada contoh ketiga, itu sebenarnya akan
mencetak empat kutipan ganda yang Anda tulis, dan kemudian kutipan ganda lainnya.
Jadi kompiler menafsirkan secara eksplisit kutipan ganda tanpa garis miring terbalik sebelumnya
sebagai pembatas string.
Setiap kali Anda menggunakan dobel kutip itu awal dan akhir dari sebuah string
tetapi bagaimana jika Anda mau menampilkannya maka Anda harus meletakkan garis
miring terbalik di depannya.
Dan itu akan memberi tahu kompiler, hei ini tidak benar-benar mengakhiri string.
Itu adalah sesuatu yang kita inginkan untuk menampilkan atau sesuatu
yang ingin kita gunakan sebagai karakter itu.
Anda juga harus menggunakan pelarian urutan jika
Anda ingin melakukan backslash juga karena backslash adalah urutan pelarian.
Jadi ketika Anda melihat garis miring terbalik backslash, Anda sebenarnya menampilkan
backslash itu dalam fungsi printf.
Jika Anda melihatnya di tempat lain, Anda menetapkan garis miring terbalik
ke variabel atau bagaimanapun itu digunakan.
Tapi garis miring terbalik itu sendiri mengikuti oleh backslash lain akan lolos
dari string backslash.
Dan lagi, garis miring terbalik dan string selalu menandakan
awal dari urutan pelarian.
Jadi satu dengan sendirinya adalah tidak akan ditampilkan.
Ini adalah karakter khusus.
Jadi saat Anda berada dalam tanda kutip ganda, Anda mungkin melihat garis miring terbalik
untuk menghindari karakter khusus dan bahkan garis miring terbalik itu sendiri.
Begini cara string dalam memori.
Sebuah string dalam memori adalah setiap karakter tunggal diwakili
oleh sedikit di sini.
Jadi jika Anda memiliki string disebut ini adalah string, Anda akan melihatnya di
mana ruang memiliki sesuatu dalam memori.
Dan juga Anda harus memperhatikan di akhir backslash nol itulah
terminator nol yang akan kita bicarakan.
Tapi untuk string kedua, sekali lagi, Anda melihat semua yang ada dalam memori.
Bahkan garis miring terbalik dan yang mewakili baris baru dalam memori.
Dan kemudian untuk Anda benar, Anda akan perhatikan kutipannya ada di memori.
Tapi garis miring terbalik tidak.
Karena garis miring terbalik adalah membatasi kutipan.
Ini lolos dari kutipan.
Jadi beginilah tampilannya di memori.
Anda harus memperhatikan bahwa string dalam memori selalu memiliki setidaknya satu byte lagi
untuk garis miring terbalik itu nol, yang merupakan karakter nol.
Juga terlihat seperti diagram di bagian bawah tidak benar.
Anda akan melihat "Anda" tidak ditampilkan di sini jadi setelah kutipan kutipan ganda, Anda tidak melihat
Anda di sana. Anda seharusnya ada di suatu tempat
dan itu berlaku di sana di suatu tempat mereka benar-benar hanya menunjukkannya ini
adalah nilai ASCII di bawahnya dan jadi hanya menunjukkan-tidak menunjukkannya, tetapi Anda akan tepat di
depan yang benar.
Dan itulah yang ingin saya bicarakan tentang adalah karakter nol ini.
Ini adalah karakter khusus dengan nilai kode nol.
Itu ditambahkan ke akhir setiap string sehingga kompiler tahu di
mana ia berakhir dan juga kapan Anda menjalankannya.
Karakter ini dikenal sebagai karakter nol, dan Anda tidak
hanya memasukkan nol di dalamnya Anda dapat menempatkan garis miring terbalik nol.
Dan itulah yang ada di ini slide sebelumnya di bagian paling akhir.
Dan itu bisa di mana saja sebenarnya dalam ingatan.
Dan tergantung di mana itu berada memori, suatu fungsi akan pergi dan
melihat sampai ia melihatnya garis miring terbalik nol dan mungkin menampilkannya atau dapat memanipulasinya
jika Anda menggunakan fungsi string yang berbeda.
Ini sangat penting karakter nol itu.
Sebuah string selalu diakhiri oleh karakter nol.
Jadi panjang seutas tali adalah selalu satu lebih besar dari jumlah
karakter dalam string.
Ini akan menjadi sangat penting ketika kami menggunakan array karakter
dan kami menentukan ukuran array ukuran array selalu harus satu lebih
dari bagaimana banyak karakter yang ingin Anda simpan karena
karakter nol ini.
Kami juga memiliki konsep null bahwa kita belum benar-benar berbicara
tentang terlalu banyak detail.
Biasanya ikut bermain ketika kita berbicara
tentang pointer, tetapi jangan bingung dengan null karakter dengan kata kunci null.
Jadi ada kata kunci nol di salah satu dari sertakan header yang dapat Anda gunakan.
Dan ini adalah simbol bahwa mewakili alamat memori yang
tidak mereferensikan apa pun.
Jadi Anda menggunakannya saat Anda ketika Anda menggunakan pointer.
Karakter nol itu adil sebuah terminator string.
Kami akan berbicara lebih banyak tentang null ketika kami berbicara tentang petunjuk tetapi
pastikan Anda memahami perbedaan antara karakter nol dan kata kunci nol.
Anda dapat menambahkan karakter garis miring terbalik nol ke akhir string secara
eksplisit dan ini akan membuat dua string dan Saya akan menunjukkan kepada Anda bagaimana melakukan ini
ketika kita berbicara tentang mendefinisikan array karakter.
Berikut adalah contoh dengan terminator nol.
Kami memiliki cetakan f di sini, dan kami mengatakan karakter dan kemudian garis
miring terbalik nol yang mengakhiri string.
Jadi apa yang akan terjadi adalah jika Anda
kompilasi dan jalankan program ini, output
yang akan Anda dapatkan adalah baris pertama akan menjadi karakter dan kemudian garis miring terbalik akan ada yang akan
mengakhirinya dan hanya bagian pertama dari string akan ditampilkan.
Tidak akan ada lagi output karena print mengira itu adalah
akhir dari string.
Jadi itu hanya mencetak karakter.
Keluaran akan berakhir setelah dua kata pertama itu karena
fungsi berhenti menghasilkan sekali itu mencapai karakter nol.
Jadi garis miring terbalik kedua nol di akhir string, jadi meskipun Anda tidak
melihat garis miring terbalik nol di sini tepat sebelum tanda kutip
ganda berakhir, tepat setelah titik string, masih ada satu di sana, tetapi
Anda tidak pernah mencapainya.
Jadi ada terminator nol implisit di akhir string dan printf sehingga tahu
di mana harus berakhir.
Dan jika Anda menambahkan satu lagi, itu hanya akan menampilkan hingga yang pertama.
Jadi terminator nol pertama itu ditemukan dalam rangkaian karakter
selalu menandai akhir dari string.
Jadi pahami karakter nol ini.
Ini hanya gambaran singkat untuk menjelaskan apa
itu string dan memahaminya string dalam tanda kutip ganda.
Dan saya juga ingin menggambarkan karakter nol.
Dalam kuliah berikutnya, kita akan pahami apa itu string
karakter dalam hal bagaimana Anda bisa membuatnya ini berbeda jenis variabel
yang satu ini untuk menyimpan string.
Terima kasih.