Lompat ke konten Lompat ke sidebar Lompat ke footer

Program Menukar String Bahasa C

Jika menggunakan karakter pointer untuk string yang bukan array maka ubah str1 dan str2 untuk saling melakukan penunjukkan data. Yaitu, dengan melakukan penukaran pointer. Pada fungsi, akan dilakukan penukaran pointer dan akan dilakukan perubahan yang direpfleksikan diluar fungsi, sehingga perlu dilakukan penerusan pointer ke pointer.

3 Contoh Program Fungsi untuk Menukar String Bahasa C
Ilustrasi String Bahasa C

Sebelum memahami lebih dalam materi tentang Program Menukar String Bahasa C, terlebih dahulu pelajari materi tentang: GETS Bahasa C dan Fungsinya [klik], Penggunaan Char pada Bahasa C [klik], dan Strcat dan Strcmp Bahasa C dan Fungsinya [klik].

Contoh: Program penukaran pointer.

#include<stdio.h>

 

/* Menukar string dengan cara

menukar pointer */

void swap1(char **str1_ptr, char **str2_ptr)

{

char *temp = *str1_ptr;

*str1_ptr = *str2_ptr;

*str2_ptr = temp;

}

 

int main()

{

char *str1 = "makan";

char *str2 = "danmakan";

swap1(&str1, &str2);

printf("str1 adalah %s"

", str2 adalah "

"%s", str1, str2);

getchar();

return 0;

}

Fungsi yang diperlihatkan sebelumnya tidak dapat diterapkan jika string tidak disimpan menggunakan karakter array.


Contoh:
Program ini akan menjelaskan tentang fungsi swab yang digunakan untuk menukar nilai string pada program bahasa C. Perhatikan contoh program berikut ini.

#include<stdio.h>

 

void swap(char *str1, char *str2)

{

char *temp = str1;

str1 = str2;

str2 = temp;

}

 

int main()

{

char *str1 = "makan";

char *str2 = "danmakan";

swap(str1, str2);

printf("str1 adalah %s,"

"str2 is %s", str1, str2);

getchar();

return 0;

}

Output dari program adalah str2 adalah "makan", dan str2 adalah "danmakan". Sehingga kedua fungsi yang diperlihatkan sebelumnya tidak melakukan penukaran nilai string apapun. Kedua fungsi tersebut hanya melakukan penukaran variabel pointer lokal dan perubahan tersebut tidak direpleksikan pada bagian luar fungsi.

Penukaran Data
Jika menggunakan karakter array untuk menyimpan string maka yang yang mudah untuk melakukan penukaran data dari kedua array adalah sebagai berikut.

Contoh:

#include<stdio.h>

#include<string.h>

#include<stdlib.h>

 

/* Menukar String dengan Cara Menukar Data */

void swap2(char *str1, char *str2)

{

char *temp = (char *)malloc((strlen(str1) + 1) * sizeof(char));

strcpy(temp, str1);

strcpy(str1, str2);

strcpy(str2, temp);

free(temp);

}

 

int main()

{

char str1[10] = "makan";

char str2[10] = "danmakan";

swap2(str1, str2);

printf("str1 adalah %s, str2 adalah %s", str1, str2);

getchar();

return 0;

}

Fungsi ini tidak akan bisa diterapkan jika string disimpan dalam memori block read only.

Artikel ini didedikasikan kepada: Utari Hadi Novitasari, Windi Wandira, Yustian Dewi Krismarani, Abdullah Safi'I Khusnul Huda, dan Adil Muhammad Firdaus Hermansur.

5 komentar untuk "Program Menukar String Bahasa C"

  1. Udah daripada belajar cara menukan string mending rakit PC aja.

    BalasHapus
  2. Kenapa perlu menggunakan fungsi penukar string pada bahasa C?

    BalasHapus
    Balasan
    1. Karena ada suatu kondisi dimana sebuah program perlu melakukan penukaran nilai string.

      Hapus
  3. Apa contoh program yang perlu untuk melakukan sebuah string?

    BalasHapus
    Balasan
    1. Contoh, program untuk mengurutkan nilai atau sorting, dimana pada salah satu langkah algoritmanya perlu menggunakan proses penukaran data, atau penukaran string.

      Hapus

Hubungi admin melalui Wa : +62-896-2414-6106

Respon komentar 7 x 24 jam, mohon bersabar jika komentar tidak langsung dipublikasi atau mendapatkan balasan secara langsung.

Bantu admin meningkatkan kualitas blog dengan melaporkan berbagai permasalahan seperti typo, link bermasalah, dan lain sebagainya melalui kolom komentar.

- Ikatlah Ilmu dengan Memostingkannya -
- Big things start from small things -