Program Menukar String Bahasa C
#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.#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.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.- Membuat Long String Multibaris Bahasa C [klik]
- Tipe Data Terlarang Untuk Array Bahasa C [klik]
- Variabel Length Array Bahasa C dan Fungsinya [klik]
- Notasi Shorthand Array Bahasa C dan Fungsinya [klik]
- Mengakses Array di Luar Batas Bahasa C [klik]
- Strcpy Bahasa C dan Fungsinya [klik]
- Membandingkan Dua String Menggunakan STRCMP pada Bahasa C [klik]
Udah daripada belajar cara menukan string mending rakit PC aja.
BalasHapusKenapa perlu menggunakan fungsi penukar string pada bahasa C?
BalasHapusKarena ada suatu kondisi dimana sebuah program perlu melakukan penukaran nilai string.
HapusApa contoh program yang perlu untuk melakukan sebuah string?
BalasHapusContoh, program untuk mengurutkan nilai atau sorting, dimana pada salah satu langkah algoritmanya perlu menggunakan proses penukaran data, atau penukaran string.
Hapus