Apakah String dalam Pengaturcaraan C?

Apakah String Dalam Pengaturcaraan C



Dalam bahasa pengaturcaraan C, rentetan adalah cara untuk mewakili sekumpulan watak. Ia penting kerana ia membolehkan pengaturcara bekerja dengan data teks dalam program mereka. Tidak seperti beberapa bahasa pengaturcaraan lain, C tidak mempunyai jenis data rentetan terbina dalam. Sebaliknya, rentetan dibuat menggunakan tatasusunan aksara.

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.

#include

int 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:

#include

int 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:

#include

int 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 yang menyediakan pelbagai fungsi untuk bekerja dengan rentetan dalam C. Fungsi ini termasuk operasi seperti menyalin rentetan, rentetan penggabungan dan banyak lagi.

Kesimpulan

Rentetan ialah koleksi jujukan linear dalam program C. Setiap aksara menyimpan satu bait dan diwakili dengan tanda petikan berganda. C menyediakan perpustakaan standard dan anda boleh melaksanakan tugas yang rumit dengan mudah melalui fungsi rentetan. Dalam panduan di atas, kami telah membincangkan cara yang berbeza untuk pengisytiharan rentetan dan permulaan. Kami juga telah menunjukkan penghantaran rentetan kepada fungsi dengan kod contoh.