String di C: Bagaimana Mendeklarasikan Variabel, Inisialisasi, Cetak, Contoh

Daftar Isi:

Anonim

Apa itu String di C?

Sebuah String di C hanyalah kumpulan karakter dalam urutan linier. 'C' selalu memperlakukan string sebagai data tunggal meskipun itu berisi spasi putih. Karakter tunggal ditentukan menggunakan representasi kutipan tunggal. Sebuah string direpresentasikan menggunakan tanda kutip ganda.

Example, "Welcome to the world of programming!"

'C' menyediakan pustaka standar yang berisi banyak fungsi yang dapat digunakan untuk melakukan operasi rumit dengan mudah pada Strings di C.

Dalam tutorial ini, Anda akan belajar-

  • Bagaimana Mendeklarasikan dan Menginisialisasi String di C
  • Input String: Membaca String
  • Output String: Mencetak / Menampilkan String
    • fputs ()
    • menempatkan fungsi
  • Perpustakaan string
  • Mengubah String menjadi Angka

Bagaimana Mendeklarasikan dan Menginisialisasi String di C

AC String adalah array sederhana dengan char sebagai tipe datanya. Bahasa 'C' tidak secara langsung mendukung string sebagai tipe data. Oleh karena itu, untuk menampilkan String di C, Anda perlu menggunakan array karakter.

Sintaks umum untuk mendeklarasikan variabel sebagai String di C adalah sebagai berikut,

char string_variable_name [array_size];

Deklarasi klasik string dapat dilakukan sebagai berikut:

 char string_name[string_length] = "string"; 

Ukuran array harus ditentukan saat mendeklarasikan variabel C String karena digunakan untuk menghitung berapa banyak karakter yang akan disimpan di dalam variabel string di C.Beberapa contoh deklarasi string yang valid adalah sebagai berikut,

char first_name[15]; //declaration of a string variablechar last_name[15];

Contoh di atas mewakili variabel string dengan ukuran array 15. Ini berarti bahwa array string C mampu menampung paling banyak 15 karakter. Pengindeksan array dimulai dari 0 sehingga akan menyimpan karakter dari posisi 0-14. Kompilator C secara otomatis menambahkan karakter NULL '\ 0' ke array karakter yang dibuat.

Mari kita pelajari inisialisasi String di C. Contoh berikut menunjukkan inisialisasi String di C,

char first_name[15] = "ANTHONY";char first_name[15] = {'A','N','T','H','O','N','Y','\0'}; // NULL character '\0' is required at end in this declarationchar string1 [6] = "hello";/* string size = 'h'+'e'+'l'+'l'+'o'+"NULL" = 6 */char string2 [ ] = "world"; /* string size = 'w'+'o'+'r'+'l'+'d'+"NULL" = 6 */char string3[6] = {'h', 'e', 'l', 'l', 'o', '\0'} ; /*Declaration as set of characters ,Size 6*/

Dalam string3, karakter NULL harus ditambahkan secara eksplisit, dan karakter diapit oleh tanda kutip tunggal.

'C' juga memungkinkan kita untuk menginisialisasi variabel string tanpa menentukan ukuran array karakter. Itu bisa dilakukan dengan cara berikut,

char first_name[ ] = "NATHAN";

Nama Strings di C bertindak sebagai penunjuk karena pada dasarnya adalah sebuah array.

Input String: Membaca String

Saat menulis program interaktif yang meminta input pengguna, C menyediakan fungsi scanf (), gets (), dan fgets () untuk menemukan baris teks yang dimasukkan dari pengguna.

Saat kita menggunakan scanf () untuk membaca, kita menggunakan penentu format "% s" tanpa menggunakan "&" untuk mengakses alamat variabel karena nama array bertindak sebagai penunjuk. Sebagai contoh:

#include int main() {char name[10];int age;printf("Enter your first name and age: \n");scanf("%s %d", name, &age);printf("You entered: %s %d",name,age);}

Keluaran:

Enter your first name and age:John_Smith 48

Masalah dengan fungsi scanf adalah ia tidak pernah membaca seluruh String di C. Ini akan menghentikan proses membaca segera setelah spasi kosong, pengumpanan formulir, tab vertikal, baris baru, atau carriage return terjadi. Misalkan kita memberikan input sebagai "Tutorial Guru99" maka fungsi scanf tidak akan pernah membaca seluruh string karena karakter spasi terjadi di antara kedua nama tersebut. Fungsi scanf hanya akan membaca Guru99.

Untuk membaca string berisi spasi, kami menggunakan fungsi gets (). Mendapat mengabaikan spasi putih. Itu berhenti membaca ketika baris baru tercapai (tombol Enter ditekan). Contoh:

#include int main() {char full_name[25];printf("Enter your full name: ");gets(full_name);printf("My full name is %s ",full_name);return 0;}

Keluaran:

Enter your full name: Dennis RitchieMy full name is Dennis Ritchie

Alternatif lain yang lebih aman untuk mendapatkan () adalah fungsi fgets () yang membaca sejumlah karakter tertentu. Sebagai contoh:

#include int main() {char name[10];printf("Enter your name plz: ");fgets(name, 10, stdin);printf("My name is %s ",name);return 0;}

Keluaran:

Enter your name plz: CarlosMy name is Carlos

Argumen fgets () adalah:

  • nama string,
  • jumlah karakter untuk dibaca,
  • stdin artinya membaca dari input standar yaitu keyboard.

Output String: Mencetak / Menampilkan String

Fungsi printf standar digunakan untuk mencetak atau menampilkan String dalam C pada perangkat keluaran. Penentu format yang digunakan adalah% s

Contoh,

printf("%s", name);

Output string dilakukan dengan fungsi fputs () dan printf ().

fputs ()

Fputs () membutuhkan nama string dan penunjuk ke tempat Anda ingin menampilkan teks. Kami menggunakan stdout yang mengacu pada output standar untuk mencetak ke layar. Contoh:

#include int main(){char town[40];printf("Enter your town: ");gets(town);fputs(town, stdout);return 0;}

Keluaran:

Enter your town: New YorkNew York

menempatkan fungsi

Fungsi put digunakan untuk mencetak string dalam C pada perangkat keluaran dan memindahkan kursor kembali ke posisi pertama. Fungsi put dapat digunakan dengan cara berikut,

#include int main() {char name[15];gets(name); //reads a stringputs(name); //displays a stringreturn 0;}

Sintaks fungsi ini relatif sederhana dibandingkan fungsi lainnya.

Perpustakaan string

Pustaka 'C' standar menyediakan berbagai fungsi untuk memanipulasi string dalam suatu program. Fungsi ini juga disebut sebagai penangan string. Semua penangan ini ada di dalam file header .

Fungsi Tujuan
strlen () Fungsi ini digunakan untuk mencari panjang sebuah string. Ini mengembalikan berapa banyak karakter yang ada dalam string tidak termasuk karakter NULL.
strcat (str1, str2) Fungsi ini digunakan untuk menggabungkan dua string menjadi satu string. Ini Menambahkan atau menggabungkan str2 ke akhir str1 dan mengembalikan pointer ke str1.
strcmp (str1, str2) Fungsi ini digunakan untuk membandingkan dua string satu sama lain. Ini mengembalikan 0 jika str1 sama dengan str2, kurang dari 0 jika str1 str2.

Mari pertimbangkan program di bawah ini yang mendemonstrasikan fungsi pustaka string:

#include #include int main () {//string initializationchar string1[15]="Hello";char string2[15]=" World!";char string3[15];int val;//string comparisonval= strcmp(string1,string2);if(val==0){printf("Strings are equal\n");}else{printf("Strings are not equal\n");}//string concatenationprintf("Concatenated string:%s",strcat(string1,string2)); //string1 contains hello world!//string lengthprintf("\nLength of first string:%d",strlen(string1));printf("\nLength of second string:%d",strlen(string2));//string copyprintf("\nCopied string is:%s\n",strcpy(string3,string1)); //string1 is copied into string3return 0;}

Keluaran:

Strings are not equalConcatenated string:Hello World!Length of first string:12Length of second string:7Copied string is:Hello World!

Fungsi perpustakaan penting lainnya adalah:

  • strncmp (str1, str2, n): mengembalikan 0 jika n karakter pertama str1 sama dengan n karakter pertama str2, kurang dari 0 jika str1 str2.
  • strncpy (str1, str2, n) Fungsi ini digunakan untuk menyalin string dari string lain. Menyalin n karakter pertama dari str2 ke str1
  • strchr (str1, c): mengembalikan pointer ke kejadian pertama dari char c di str1, atau NULL jika karakter tidak ditemukan.
  • strrchr (str1, c): ia mencari str1 secara terbalik dan mengembalikan pointer ke posisi char c di str1, atau NULL jika karakter tidak ditemukan.
  • strstr (str1, str2): mengembalikan pointer ke kejadian pertama str2 di str1, atau NULL jika str2 tidak ditemukan.
  • strncat (str1, str2, n) Menambahkan (menggabungkan) karakter n pertama dari str2 ke akhir str1 dan mengembalikan pointer ke str1.
  • strlwr (): untuk mengubah string menjadi huruf kecil
  • strupr (): untuk mengubah string menjadi huruf besar
  • strrev (): untuk membalikkan string

Mengubah String menjadi Angka

Dalam pemrograman C, kita dapat mengonversi string karakter numerik menjadi nilai numerik untuk mencegah kesalahan run-time. Pustaka stdio.h berisi fungsi-fungsi berikut untuk mengonversi string menjadi angka:

  • int atoi (str) Singkatan dari ASCII to integer; itu mengubah str menjadi nilai int yang setara. 0 dikembalikan jika karakter pertama bukan angka atau tidak ada angka yang ditemukan.
  • double atof (str) Singkatan dari ASCII untuk mengapung, ini mengubah str menjadi nilai ganda yang setara. 0.0 dikembalikan jika karakter pertama bukan angka atau tidak ada angka yang ditemukan.
  • long int atol (str) Singkatan dari ASCII menjadi long int, Mengubah str menjadi ekuivalen nilai integer panjang. 0 dikembalikan jika karakter pertama bukan angka atau tidak ada angka yang ditemukan.

Program berikut menunjukkan fungsi atoi ():

#include int main(){char *string_id[10];int ID;printf("Enter a number: ");gets(string_id);ID = atoi(string_id);printf("you enter %d ",ID);return 0;}

Keluaran:

Enter a number: 221348you enter 221348
  • Deklarasi penunjuk string seperti char * string = "language" adalah konstanta dan tidak dapat dimodifikasi.

Ringkasan

  • String adalah urutan karakter yang disimpan dalam array karakter.
  • String adalah teks yang diapit oleh tanda kutip ganda.
  • Karakter seperti 'd' bukanlah string dan ditandai dengan tanda kutip tunggal.
  • 'C' menyediakan fungsi pustaka standar untuk memanipulasi string dalam suatu program. Manipulator string disimpan dalam file header .
  • Sebuah string harus dideklarasikan atau diinisialisasi sebelum digunakan ke dalam program.
  • Ada fungsi string input dan output yang berbeda, masing-masing memiliki fitur-fiturnya.
  • Jangan lupa untuk menyertakan pustaka string untuk bekerja dengan fungsinya
  • Kita dapat mengubah string menjadi angka melalui atoi (), atof () dan atol () yang sangat berguna untuk proses coding dan decoding.
  • Kita dapat memanipulasi string yang berbeda dengan mendefinisikan array string di C.