3 Contoh Program Fungsi untuk Menukar String Bahasa C

Artikel 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 pointer
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.

#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.

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

#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.

Komentar

  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

Posting Komentar

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

*Jika terdapat typo, link bermasalah, dan lain sebagainya, pengunjung dapat melaporkan permasalahan tersebut melalui WA: +62-896-2514-6106




~ Ikatlah Ilmu dengan Memostingkannya ~

Referensi Tambahan:

Enkapsulasi pada Java

6 Contoh Program Method Overloading pada Java

2 Jenis Utama Kegiatan Penelitian Berdasarkan Waktunya, Crosssectional Salah Satunya

3 Jenis Utama Looping pada Java

Perbedaan stdio.h dan stdlib.h pada Bahasa C

3 Jenis Utama Teks Komentar pada Bahasa Pemrograman Java