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

String dalam Pemrograman C: Menguasai Deklarasi, Inisialisasi, dan I/O

String dalam Pemrograman C

Tutorial ini memandu Anda melalui dasar-dasar string C: deklarasi, inisialisasi, input/output, penggunaan fungsi, pointer, dan fungsi pustaka penting.

Dalam C, string adalah array karakter yang diakhiri dengan byte nol \0. Contohnya:

char c[] = "c string";

Kompilator secara otomatis menambahkan \0 pada literal string, membuatnya menjadi string C yang benar.

String dalam Pemrograman C: Menguasai Deklarasi, Inisialisasi, dan I/O

Bagaimana mendeklarasikan string?

String dideklarasikan sebagai array karakter. Contohnya:

char s[5];
String dalam Pemrograman C: Menguasai Deklarasi, Inisialisasi, dan I/O

Ini mendeklarasikan buffer yang dapat menampung hingga 4 karakter plus terminator \0.


Bagaimana menginisialisasi string?

Beberapa gaya inisialisasi tersedia:

char c[] = "abcd"; char c[50] = "abcd"; char c[] = {'a', 'b', 'c', 'd', '\0'}; char c[5] = {'a', 'b', 'c', 'd', '\0'};
String dalam Pemrograman C: Menguasai Deklarasi, Inisialisasi, dan I/O

Hati-hati dengan buffer overflow: char c[5] = "abcde"; mencoba menyimpan enam karakter (termasuk \0) dalam array lima byte dan harus dihindari.


Menugaskan Nilai ke String

Array tidak dapat ditugaskan setelah deklarasi. Sebaliknya, gunakan strcpy():

char c[100]; strcpy(c, "C programming");

Catatan: Penugasan langsung seperti c = "C programming"; menyebabkan error waktu kompilasi.


Membaca String dari Pengguna

Gunakan scanf() untuk input yang dipisahkan spasi:

#include <stdio.h> int main() { char name[20]; printf("Masukkan nama: "); scanf("%s", name); printf("Nama Anda adalah %s.", name); return 0; }

Keluaran

Masukkan nama: Dennis Ritchie Nama Anda adalah Dennis.

Hanya kata pertama yang ditangkap karena scanf() berhenti pada spasi putih. Nama array mereduksi menjadi pointer, sehingga name diteruskan langsung.

Bagaimana membaca seluruh baris?

Gunakan fgets() dan puts():

#include <stdio.h> int main() { char name[30]; printf("Masukkan nama: "); fgets(name, sizeof(name), stdin); printf("Nama: "); puts(name); return 0; }

Keluaran

Masukkan nama: Tom Hanks Nama: Tom Hanks

fgets() membaca hingga sizeof(name)-1 karakter, termasuk spasi. Ia juga mempertahankan newline di akhir, yang dicetak oleh puts().

Catatan: gets() sudah usang dan dihapus dari standar C karena dapat menyebabkan buffer overflow.


Meneruskan String ke Fungsi

String diteruskan ke fungsi seperti array. Contoh:

#include <stdio.h> void displayString(char str[]); int main() { char str[50]; printf("Masukkan string: "); fgets(str, sizeof(str), stdin); displayString(str); return 0; } void displayString(char str[]) { printf("Keluaran String: "); puts(str); }

String dan Pointer

Nama string mereduksi menjadi pointer, memungkinkan aritmetika pointer:

#include <stdio.h> int main(void) { char name[] = "Harry Potter"; printf("%c", *name); // H printf("%c", *(name+1)); // a printf("%c", *(name+7)); // o char *namePtr = name; printf("%c", *namePtr); // H printf("%c", *(namePtr+1)); // a printf("%c", *(namePtr+7)); // o }

Fungsi String yang Umum Digunakan


Bahasa C

  1. Menguasai String C#: Dasar, Operasi, dan Teknik Lanjutan
  2. Menguasai Namespace C#: Organisasi, Cakupan, dan Praktik Terbaik
  3. Cara Meneruskan Array ke Fungsi dalam C++: Panduan Praktis
  4. Menguasai String Java: Pembuatan, Metode, dan Best Practices
  5. Menguasai Representasi String dalam Enum Java
  6. Menguasai Fungsi String C++: strcpy, strcat, strlen, strcmp – Contoh Praktis
  7. String dalam C Mudah Dipahami: Deklarasi, Input, Output, dan Fungsi Pustaka
  8. Menguasai Operasi String Python: Replace, Join, Split, Reverse, dan Konversi Huruf Besar/Kecil
  9. Menguasai Pemrograman C: Tutorial Komprehensif untuk Pemula
  10. Kelas String Java: Menguasai Pembuatan & Manipulasi String