Dalam artikel ini, kami akan menerangkan apa rentetan dalam C, bagaimana ia diisytiharkan, dan bagaimana untuk melaksanakannya dalam pengaturcaraan C.
Apakah String dalam Pengaturcaraan C?
Rentetan ialah tatasusunan satu dimensi yang ditamatkan oleh batal \0 watak. Ia digunakan untuk menyimpan aksara dan teks dan setiap aksara dalam rentetan menduduki satu bait memori. Tidak seperti bahasa pengaturcaraan lain, C tidak mempunyai nama jenis data sebagai rentetan, sebaliknya anda menyimpan data dalam jenis char.
Bagaimana untuk Mengisytiharkan Rentetan dalam Pengaturcaraan C?
Dalam pengaturcaraan C, anda boleh mengisytiharkan rentetan menggunakan kaedah berikut:
Anda boleh menetapkan rentetan dengan saiz yang telah ditetapkan. Sebagai contoh, rentetan dengan saiz had 8 aksara hendaklah diisytiharkan sebagai:
char ujian [ 8 ] = 'selamat datang' ;
Kaedah lain untuk menetapkan rentetan dalam C adalah tanpa menentukan saiz tatasusunan:
char ujian [ ] = 'selamat datang' ;
Anda juga boleh menetapkan rentetan menggunakan tatasusunan aksara dengan saiz yang ditentukan:
char ujian [ 8 ] = { 'MASUK' , 'Ia adalah' , 'l' , 'c' , 'O' , 'saya' , 'Ia adalah' , ' \0 ' } ;Atau anda boleh menetapkan rentetan kepada tatasusunan aksara dengan memulakannya aksara demi aksara tanpa saiz yang ditentukan:
char ujian [ ] = { 'MASUK' , 'Ia adalah' , 'l' , 'c' , 'O' , 'saya' , 'Ia adalah' , ' \0 ' } ;
The aksara nol “\0” mewakili penghujung rentetan. Untuk menentukan di mana rentetan itu berakhir, adalah penting untuk menambah aksara nol pada penghujung setiap.
Perwakilan memori rentetan di atas adalah seperti berikut:
Indeks | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Pembolehubah | DALAM | Ia adalah | l | c | O | m | Ia adalah | \0 |
Dalam C, aksara nol digunakan untuk menentukan di mana rentetan itu ditamatkan. Jika aksara null tidak hadir, fungsi ini akan terus memproses memori melebihi penghujung rentetan, yang berpotensi membawa kepada tingkah laku yang tidak dijangka bagi kod tersebut.
Berikut ialah kod pengaturcaraan C yang lengkap untuk mencetak rentetan.
#includeint utama ( ) {
char ujian [ 8 ] = { 'MASUK' , 'Ia adalah' , 'l' , 'c' , 'O' , 'saya' , 'Ia adalah' , ' \0 ' } ;
printf ( 'Outputnya ialah: %s \n ' , ujian ) ;
kembali 0 ;
}
Program di atas mengisytiharkan ujian tatasusunan aksara dengan saiz 8 dan memulakannya dengan aksara 'W', 'e', 'l', 'c', 'o', 'm', 'e' , dan '\0' . Ia kemudian menggunakan printf() berfungsi untuk mencetak rentetan yang disimpan dalam ujian.
Pengeluaran
Ambil Input Rentetan Daripada Pengguna dalam Pengaturcaraan C
Anda juga boleh mengambil rentetan input daripada pengguna menggunakan scanf() fungsi dan untuk itu, anda mesti perlu menentukan saiz tatasusunan rentetan. Berikut ialah contoh kod untuk mengambil input daripada pengguna:
#includeint utama ( )
{
char nama [ 10 ] ;
printf ( 'Masukkan nama:' ) ;
scanf ( '%s' , nama ) ;
printf ( 'Nama yang dimasukkan ialah: %s.' , nama ) ;
kembali 0 ;
}
Program di atas menggesa pengguna untuk memasukkan nama, membacanya daripada pengguna menggunakan fungsi scanf() dan menyimpannya dalam nama tatasusunan aksara. Ia kemudian menggunakan fungsi printf() untuk mencetak nama yang dimasukkan.
Pengeluaran
Baca Rentetan atau Baris Teks dalam Pengaturcaraan C
Anda boleh menggunakan fgets() berfungsi untuk membaca rentetan kerana ia digunakan untuk membaca baris teks daripada aliran input yang ditentukan dan menyimpannya ke dalam tatasusunan aksara. Kod yang ditulis di bawah adalah contoh kes sedemikian:
#includeint utama ( ) {
char barisan [ lima puluh ] ;
printf ( 'Masukkan baris teks: ' ) ;
fgets ( barisan , saiz ( barisan ) , stdin ) ;
printf ( 'Anda telah memasukkan: %s' , barisan ) ;
kembali 0 ;
}
Program C di atas menggunakan fgets() berfungsi untuk membaca baris teks yang dimasukkan oleh pengguna daripada input standard dan menyimpannya dalam tatasusunan aksara bernama baris. Kemudian, ia mencetak baris teks yang dimasukkan menggunakan fungsi printf().
Pengeluaran
Fungsi Rentetan Yang Biasa Digunakan
Rentetan dalam pengaturcaraan C menyokong pelbagai fungsi yang boleh digunakan dalam atur cara untuk melakukan tindakan yang berbeza. Beberapa fungsi yang disokong oleh rentetan dalam C disebutkan di bawah:
Nama Fungsi | Tujuan Fungsi |
strcat(a1,a2); | Menambahkan kandungan rentetan a2 ke penghujung rentetan a1. Selepas operasi, rentetan yang terhasil akan disimpan dalam a1. |
strcpy(a1,a2); | Fungsi ini menyalin kandungan rentetan a2 ke rentetan a1. Selepas operasi, a1 akan mengandungi salinan tepat a2, termasuk aksara nol penamat. |
strlen(a1); | Mengembalikan panjang rentetan a1, iaitu, jumlah bilangan aksara yang terdapat dalam rentetan sebelum aksara penamat atau batal yang terakhir. |
strchr(a1,ch1); | Fungsi ini mengalihkan penuding ke kejadian pertama aksara ch1 dalam rentetan a1. Fungsi ini mengembalikan penunjuk nol jika ch1 tidak dijumpai dalam rentetan a1. |
Catatan: C menyediakan perpustakaan standard yang dipanggil
Kesimpulan
Rentetan ialah koleksi jujukan linear dalam program C. Setiap aksara menyimpan satu bait dan diwakili dengan tanda petikan berganda. C menyediakan perpustakaan standard