SELAMAT DATANG

Sabtu, 02 Juli 2011

Character Sequences(karakter urutan)

Seperti yang Anda mungkin sudah tahu, C + + Standard Library menerapkan kelas string yang kuat, yang sangat berguna untuk menangani dan memanipulasi string karakter. Namun, karena berada di urutan string fakta karakter, kita dapat mewakili mereka juga sebagai elemen array plain char.
Sebagai contoh, array berikut:

 
arang jenny [20];


adalah array yang dapat menyimpan hingga 20 jenis elemen char. Hal ini dapat direpresentasikan sebagai:

Oleh karena itu, dalam array ini, dalam teori, kita dapat menyimpan deretan karakter sampai 20 karakter. Tapi kita juga dapat menyimpan urutan lebih pendek. Sebagai contoh, jenny bisa menyimpan di beberapa titik dalam sebuah program baik urutan "Halo" atau urutan "Selamat natal", karena keduanya lebih pendek dari 20 karakter.
Oleh karena itu, sejak array karakter dapat menyimpan urutan lebih pendek dari panjang total, karakter khusus digunakan untuk menandakan akhir dari urutan yang valid: karakter null, yang harfiah konstan dapat ditulis sebagai '\ 0' (backslash, nol) .
Array kita dari 20 elemen dari tipe char, disebut jenny, dapat direpresentasikan menyimpan urutan karakter "Halo" dan "Selamat Natal" sebagai:

Perhatikan bagaimana setelah konten yang valid karakter null ('\ 0') telah dimasukkan untuk menunjukkan akhir urutan. Panel dalam warna abu-abu mewakili unsur-unsur arang dengan nilai-nilai ditentukan.
Inisialisasi null-diakhiri urutan karakterKarena array adalah array karakter biasa mereka mengikuti semua aturan yang sama mereka. Sebagai contoh, jika kita ingin menginisialisasi sebuah array karakter dengan beberapa urutan yang telah ditentukan karakter yang bisa kita lakukan hanya seperti array lain:

 
arang myword [] = {'H', 'e', ​​'l', 'l', 'o', '\ 0'};


Dalam hal ini kita akan mendeklarasikan sebuah array dari 6 elemen dari tipe char diinisialisasi dengan karakter yang membentuk kata "Halo" plus karakter null '0 \' di akhir.Tapi array elemen arang memiliki metode tambahan untuk menginisialisasi nilai-nilai mereka: menggunakan string literal.
Dalam ekspresi yang kita telah digunakan dalam beberapa contoh dalam bab-bab sebelumnya, konstanta string yang mewakili seluruh karakter telah muncul beberapa kali. Ini adalah ditentukan melampirkan teks menjadi sebuah string literal antara tanda kutip ganda (") Sebagai contoh.:

 
"Hasilnya adalah:"


adalah sebuah string konstan literal bahwa kita mungkin digunakan sudah.
String dikutip ganda (") adalah konstanta literal yang jenis sebenarnya array diakhiri null-karakter. Jadi string literal diapit tanda kutip ganda selalu memiliki karakter null ('\ 0') secara otomatis ditambahkan di akhir.
Oleh karena itu kita dapat menginisialisasi array dari elemen arang disebut myword dengan urutan diakhiri dengan null karakter oleh salah satu dari dua metode:
12

arang myword [] = {'H', 'e', ​​'l', 'l', 'o', '\ 0'};arang myword [] = "Halo";


Dalam kedua kasus array karakter myword dinyatakan dengan ukuran 6 elemen char: 5 karakter yang membentuk kata "Halo" plus karakter null akhir ('\ 0') yang menentukan akhir dari urutan dan yang , dalam kasus kedua, ketika menggunakan tanda kutip ganda (") itu ditambahkan secara otomatis.
Harap perhatikan bahwa kita berbicara tentang menginisialisasi sebuah array dari karakter pada saat itu sedang dinyatakan, dan bukan tentang menetapkan nilai-nilai kepada mereka setelah mereka telah dinyatakan. Bahkan karena jenis null-diakhiri array dari karakter array biasa kita memiliki pembatasan seperti yang kita miliki dengan array lain, sehingga kita tidak dapat menyalin data blok dengan sebuah tugas operasi.
Dengan asumsi mystext adalah char [] variabel, ekspresi dalam kode sumber seperti:
12

mystext = "Halo";mystext [] = "Halo";


tidak akan berlaku, seperti tidak akan:

 
mystext = {'H', 'e', ​​'l', 'l', 'o', '\ 0'};


Alasan untuk ini dapat menjadi lebih dipahami setelah Anda tahu lebih banyak tentang pointer, sejak saat itu akan dijelaskan bahwa sebuah array sebenarnya pointer konstan yang menunjuk ke blok memori.
Menggunakan diakhiri null-urutan karakter
Null-dihentikan urutan karakter adalah cara alami mengobati string di C + +, sehingga mereka dapat digunakan sebagai tersebut dalam banyak prosedur. Bahkan, string literal biasa memiliki tipe ini (char []) dan juga dapat digunakan dalam kebanyakan kasus.
Misalnya, cin dan dukungan pengadilan diakhiri null-urutan sebagai wadah berlaku untuk urutan karakter, sehingga mereka dapat digunakan secara langsung untuk mengekstrak string karakter dari cin atau untuk memasukkan mereka ke pengadilan. Sebagai contoh:
1234567891011121314

/ / Null-diakhiri urutan karakter# Includeusing namespace std;
int main (){
  
Pertanyaan char [] = "Silahkan, masukkan nama pertama Anda:";
  
arang ucapan [] = "Halo,";
  
namaAnda char [80];
  
cout <<pertanyaan;
  
cin>> namaAnda;
  
cout <<salam <<namaAnda <<; "!"
  
return 0;}


Tolong, masukkan nama pertama Anda: YohanesHalo, John!


Seperti yang Anda lihat, kita telah menyatakan tiga elemen array dari char. Dua yang pertama yang diinisialisasi dengan konstanta string literal, sedangkan yang ketiga yang tersisa uninitialized. Dalam kasus apapun, kita harus menentukan ukuran array: dalam dua pertama (pertanyaan dan ucapan) ukuran secara implisit didefinisikan oleh panjang konstanta literal mereka diinisialisasi ke. Sedangkan untuk namaAnda kita telah secara eksplisit ditentukan bahwa ia memiliki ukuran 80 karakter.
Akhirnya, urutan karakter yang disimpan dalam char array dengan mudah dapat diubah menjadi objek string yang hanya dengan menggunakan operator penugasan:
123

String mystring;arang myntcs [] = "beberapa teks";mystring = myntcs;

Tidak ada komentar:

Posting Komentar