Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Industrial programming >> Bahasa C

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

Apa itu String dalam C?

A String dalam C tidak lain adalah kumpulan karakter dalam urutan linier. 'C' selalu memperlakukan string sebagai data tunggal meskipun berisi spasi putih. Sebuah karakter tunggal didefinisikan 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 String di C.

Dalam tutorial ini, Anda akan belajar-

Cara Mendeklarasikan dan Inisialisasi String di C

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

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

char string_variable_name [array_size];

Deklarasi string klasik 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 variable
char last_name[15];

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

Mari kita pelajari inisialisasi String dalam C. Contoh berikut menunjukkan inisialisasi String dalam 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 declaration
char 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. Ini dapat dilakukan dengan cara berikut,

char first_name[ ] = "NATHAN";

Nama String dalam C bertindak sebagai pointer karena pada dasarnya adalah sebuah array.

Input String:Membaca String

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

Ketika kita menggunakan scanf() untuk membaca, kita menggunakan penentu format “%s” tanpa menggunakan “&” untuk mengakses alamat variabel karena nama array bertindak sebagai penunjuk. Misalnya:

#include <stdio.h>
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 bahwa ia tidak pernah membaca seluruh String dalam C. Ini akan menghentikan proses membaca segera setelah spasi putih, form feed, 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 putih terjadi di antara dua nama. Fungsi scanf hanya akan membaca Guru99.

Untuk membaca string yang berisi spasi, kita menggunakan fungsi get(). Gets mengabaikan spasi putih. Itu berhenti membaca ketika baris baru tercapai (tombol Enter ditekan). Misalnya:

#include <stdio.h>
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 Ritchie
My full name is Dennis Ritchie

Alternatif lain yang lebih aman untuk get() adalah fungsi fgets() yang membaca sejumlah karakter tertentu. Misalnya:

#include <stdio.h>
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: Carlos
My name is Carlos

Argumen fgets() adalah :

Output String:Cetak/Tampilkan String

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

Contoh,

printf("%s", name);

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

fungsi 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. Misalnya:

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

Keluaran:

Enter your town: New York
New York

menempatkan fungsi

Fungsi puts digunakan untuk Mencetak string dalam C pada perangkat output dan memindahkan kursor kembali ke posisi pertama. Fungsi puts dapat digunakan dengan cara berikut,

#include <stdio.h>
int main() {
char name[15];
gets(name);        //reads a string
puts(name);        //displays a string
return 0;}

Sintaks fungsi ini relatif sederhana dibandingkan fungsi lainnya.

Perpustakaan string

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

Fungsi Tujuan strlen() Fungsi ini digunakan untuk mencari panjang 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. 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. Ia mengembalikan 0 jika str1 sama dengan str2, kurang dari 0 jika str1 str2.

Mari kita perhatikan program di bawah ini yang mendemonstrasikan fungsi library string:

#include <stdio.h>
#include <string.h>
int main () {
//string initialization
char string1[15]="Hello";
char string2[15]=" World!";
char string3[15];
int val;

//string comparison
val= strcmp(string1,string2);
if(val==0){
    printf("Strings are equal\n");
}
else{
    printf("Strings are not equal\n");
}

//string concatenation
printf("Concatenated string:%s",strcat(string1,string2)); //string1 contains hello world!

//string length
printf("\nLength of first string:%d",strlen(string1));
printf("\nLength of second string:%d",strlen(string2));

//string copy
printf("\nCopied string is:%s\n",strcpy(string3,string1));  //string1 is copied into string3
return 0;
}

Keluaran:

Strings are not equal
Concatenated string:Hello World!
Length of first string:12
Length of second string:7
Copied 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 kemunculan pertama 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 kemunculan pertama str2 di str1, atau NULL jika str2 tidak ditemukan.
  • strncat(str1, str2, n) Menambahkan (menggabungkan) n karakter pertama 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

Mengonversi String ke Angka

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

  • int atoi(str) Singkatan dari ASCII ke integer; itu mengubah str ke nilai int yang setara. 0 dikembalikan jika karakter pertama bukan angka atau tidak ada angka yang ditemukan.
  • double atof(str) Singkatan dari ASCII to float, ia 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 ke long int, Mengonversi str ke nilai integer panjang yang setara. 0 dikembalikan jika karakter pertama bukan angka atau tidak ada angka yang ditemukan.

Program berikut mendemonstrasikan fungsi atoi():

#include <stdio.h>
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: 221348
you enter 221348
  • Deklarasi penunjuk string seperti char *string =“bahasa” adalah konstanta dan tidak dapat diubah.

Ringkasan

  • String adalah urutan karakter yang disimpan dalam array karakter.
  • String adalah teks yang diapit oleh tanda petik ganda.
  • Karakter seperti 'd' bukan string dan ditandai dengan tanda kutip tunggal.
  • 'C' menyediakan fungsi library standar untuk memanipulasi string dalam sebuah 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 fiturnya sendiri.
  • Jangan lupa sertakan pustaka string agar berfungsi 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 dalam C.

Bahasa C

  1. String Jawa
  2. String enum Java
  3. Cara membuat daftar string di VHDL
  4. Array di C++ | Nyatakan | Inisialisasi | Contoh Pointer ke Array
  5. C++ String:strcpy(), strcat(), strlen(), strcmp() CONTOH
  6. realloc() Fungsi di C Library:Bagaimana cara menggunakannya? Sintaks &Contoh
  7. free() Fungsi di pustaka C:Bagaimana cara menggunakannya? Belajar dengan Contoh
  8. String Length() Metode di Java:Cara menemukan dengan Contoh
  9. String Python:Ganti, Gabung, Pisahkan, Balik, Huruf Besar &Huruf Kecil
  10. Java - Kelas String