String di C (Dengan Contoh)

Dalam tutorial ini, Anda akan belajar tentang string dalam pemrograman C. Anda akan belajar mendeklarasikannya, menginisialisasinya, dan menggunakannya untuk berbagai operasi I / O dengan bantuan contoh.

Dalam pemrograman C, string adalah urutan karakter yang diakhiri dengan karakter nol . Sebagai contoh:

 char c() = "c string"; 

Ketika kompiler menemukan urutan karakter yang diapit oleh tanda kutip ganda, itu menambahkan karakter null di akhir secara default.

Bagaimana cara mendeklarasikan string?

Berikut cara mendeklarasikan string:

 char s(5); 

Di sini, kami telah mendeklarasikan string 5 karakter.

Bagaimana cara menginisialisasi string?

Anda dapat menginisialisasi string dengan berbagai cara.

 char c() = "abcd"; char c(50) = "abcd"; char c() = ('a', 'b', 'c', 'd', ''); char c(5) = ('a', 'b', 'c', 'd', ''); 

Mari kita ambil contoh lain:

 char c(5) = "abcde";

Di sini, kami mencoba untuk menetapkan 6 karakter (karakter terakhir adalah '') ke chararray yang memiliki 5 karakter. Ini buruk dan Anda tidak boleh melakukan ini.

Menetapkan Nilai ke String

Array dan string adalah warga negara kelas dua di C; mereka tidak mendukung operator penugasan setelah dideklarasikan. Sebagai contoh,

 char c(100); c = "C programming"; // Error! array type is not assignable.

Catatan: Gunakan fungsi strcpy () untuk menyalin string sebagai gantinya.

Baca String dari pengguna

Anda dapat menggunakan scanf()fungsi tersebut untuk membaca string.

The scanf()fungsi membaca urutan karakter sampai bertemu spasi (ruang, baris baru, tab, dll).

Contoh 1: scanf () untuk membaca string

 #include int main() ( char name(20); printf("Enter name: "); scanf("%s", name); printf("Your name is %s.", name); return 0; ) 

Keluaran

 Masukkan nama: Dennis Ritchie Nama Anda Dennis.

Meskipun Dennis Ritchie dimasukkan dalam program di atas, hanya "Dennis" yang disimpan di string nama. Itu karena ada spasi setelah Dennis.

Bagaimana cara membaca sebaris teks?

Anda dapat menggunakan fgets()fungsi tersebut untuk membaca sebaris string. Dan, Anda bisa menggunakan puts()untuk menampilkan string.

Contoh 2: fgets () dan put ()

 #include int main() ( char name(30); printf("Enter name: "); fgets(name, sizeof(name), stdin); // read string printf("Name: "); puts(name); // display string return 0; ) 

Keluaran

 Masukkan nama: Tom Hanks Nama: Tom Hanks 

Di sini, kami telah menggunakan fgets()fungsi untuk membaca string dari pengguna.

fgets(name, sizeof(name), stdlin); // read string

The sizeof(name)hasil sampai 30. Oleh karena itu, kita dapat mengambil maksimal 30 karakter sebagai masukan yang merupakan ukuran nama string.

Untuk mencetak string, kami telah menggunakan puts(name);.

Catatan: The gets()Fungsi juga dapat mengambil input dari user. Namun, itu dihapus dari standar C.
Itu karena gets()memungkinkan Anda memasukkan panjang karakter apa pun. Oleh karena itu, mungkin ada buffer overflow.

Meneruskan String ke Fungsi

String dapat diteruskan ke suatu fungsi dengan cara yang sama seperti array. Pelajari lebih lanjut tentang meneruskan array ke suatu fungsi.

Contoh 3: Meneruskan string ke Fungsi

 #include void displayString(char str()); int main() ( char str(50); printf("Enter string: "); fgets(str, sizeof(str), stdin); displayString(str); // Passing string to a function. return 0; ) void displayString(char str()) ( printf("String Output: "); puts(str); ) 

String dan Pointer

Mirip seperti array, nama string "dibusuk" menjadi pointer. Karenanya, Anda dapat menggunakan pointer untuk memanipulasi elemen string. Kami menyarankan Anda untuk memeriksa C Array dan Pointer sebelum Anda memeriksa contoh ini.

Contoh 4: String dan Pointer

 #include int main(void) ( char name() = "Harry Potter"; printf("%c", *name); // Output: H printf("%c", *(name+1)); // Output: a printf("%c", *(name+7)); // Output: o char *namePtr; namePtr = name; printf("%c", *namePtr); // Output: H printf("%c", *(namePtr+1)); // Output: a printf("%c", *(namePtr+7)); // Output: o )

Fungsi String yang Biasa Digunakan

  • strlen () - menghitung panjang string
  • strcpy () - menyalin string ke yang lain
  • strcmp () - membandingkan dua string
  • strcat () - menggabungkan dua string

Artikel yang menarik...