C PROGRAMLAMA DİLİ – STRINGS
C programlama dilinde stringler nasıl kullanılır ? C dilinde string nasıl oluşturulur ? C dilinde string nasıl kopyalanır ve string işlemleri nasıl yapılır ? C programlama dili stringler ile nasıl çalışabiliriz? Bu ve benzeri sorulara yanıt aradığımız C Programlama Dili Örneklerle Öğren serisi 6. yazımızı sizlerle paylaşıyoruz.
Başlayalım.
C PROGRAMLAMA ÖĞREN 6 – STRINGS
Arrays olarakta görebileceğiniz ve türkçede karakter yada harf olarak adlandıracağımız , karakterleri içeren yani harfleri içeren değişkenleri c dili ile nasıl kullanabilir ve stringlerle nasıl çalışabiliriz konularına değineceğiz.
Öncelikle bir string nasıl oluşturulur ve nasıl çalıştırılır örneğine birlikte bakalım.
1 2 3 4 5 6 7 8 9 10 11 12 | int main() { char C[]= "DENNIS"; //Declare and initialization of Strings with un-definite size // char C_Def[7]= "DENNIS"; //Declare and initialization of Strings with definite size// char D[] ={'D','E','N','N','I','S','\0'};//Declare and initialization of Strings with un-definite size // char D_Def[7] ={'D','E','N','N','I','S','\0'};////Declare and initialization of Strings with un-definite size // printf("1.Your name with un-definite size declaration %s\n", C); //printing the string value in the output console/ printf("1.Your name with definite size declaration is %s\n", C_Def); //printing the string value in the output console/ printf("2.Your name with un-definite size declaration is %s\n", D); //printing the string value in the output console/ printf("2.Your name with definite size declaration is is %s\n", D_Def); //printing the string value in the output console/ return 0; //return value of 0 signals normal termination's // } |
Yukardaki kod bloğunda en başta char C ile C değişkeninin bir string olduğunu belirtiyoruz ve bu işlem için ‘char’ı kullanıyoruz.
Nasıl ki sayılarda int yani integerı kullandıysak string tanımlıyorsakta char olarak değişkenimizi tanımlıyoruz.
Stringler yukardaki gibi sabit olabilir ki örnekte görebiliriz [7] olarak ifade edilmiş ve uzunluğu bu kadardır diyebiliriz.
Ya da uzunluğu belirtmeden eşitliğin sağ tarafında tanımlanan karakterleri içerisinde barındıran bir string oluşturabiliriz.
Ve ardından program döngümüz bize bu stringlerin içerdiği karakterleri printf komutu ile ekrana yazdıracaktır.
Şimdi eğer bir stringi kopyalamak istersek neler yapabiliriz buna bakalım.
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> #include <String.h> int main() { char Str1[20]= "Steven"; //Declaration and Initialization of String// char Str2[20]= "BillGates"; //Declaration and Initialization of String// strcpy(Str1,Str2); //Copies the source string(str2) to destination string((str1)// printf("Your name is %s.", Str1); //printing the string value in the output console// return 0; //return value of 0 signals normal termination's // } |
Bu kod bloğunda string.h kütüphanesini programımıza import ettik yani içeri aldık ya da ekledik diyebiliriz.
Neden ?. Çünkü artık farklı bir kod kullanacağız ki bu kod strcpy = string copy komutudur.
Bu komut stringleri , yani karakterleri kopyalar.
Örnek programda str2 yani ana karakter kaynağımızı str1 stringine kopyalar ve ardından printf komutu ile str1’i ekrana yazdırır.
Eğer bir stringin uzunluğunu bulmak isteseydik burada string length yani strlen komutunu kullanmalıyız.
Örneğimize bakalım ,
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> #include <String.h> int main() { char Str1[20]= "Dennis"; //Declaration and Initialization of String// char Str2[20]= "Ritche_C"; //Declaration and Initialization of String// printf("String length of Str1 is %d.\n", strlen(Str1)); //printing the string value in the output console//6 printf("String length of Str2 is %d.\n", strlen(Str2)); //printing the string value in the output console//8 return 0; //return value of 0 signals normal termination's // } |
Burada strlen komutunun printf komutu içerisinde nasıl kullanıldığına dikkat ediniz.
Eğer iki stringi bir araya getirmek istersek yani str1 = mustafa ve str2 = aydın olsun ve biz mustafa aydın yazdırmak isteyelim ki bu durumda kullanmamız gereken komut strcat komutudur.
Bununla ilgili örneğimize de hızlıca bakalım.
1 2 3 4 5 6 7 8 9 10 | #include <stdio.h> #include <String.h> int main() { char Str1[20]= "Bill"; //Declaration and Initialization of String// char Str2[20]= "Gates"; //Declaration and Initialization of String// strcat(Str1,Str2); //It Appends one string at the end of another// printf("String value is %s.",Str1); //prints the value in the output console//BillGates return 0; //return value of 0 signals normal termination's // } |
Bu örneğimizde Bill ve Gates isimlerinin str1 ve str2 yani string1 ve string2’ye atandığını görmekteyiz.
Ardından strcat komutu ile de bu iki isim birleştirilerek printf komutu ile ekrana yazdırılmaktadır.
Ve son olarak stringleri karşılaştırabiliriz.Eğer iki stringi karşılaştırmak istersek kullanmamız gereken komut StrCmp = string compare komutudur.
Bu komut ile ilgili de örneğimize bakalım.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include <stdio.h> #include <String.h> int main() { char Str1[20]= "Dennis"; //Declaration and Initialization of String// char Str2[20]= "BillGates"; //Declaration and Initialization of String// int Result; //Declaration of a Variable// Result=strcmp(Str1,Str2); //It compare the sting value of Str1 and Str2 and stores the result value in Result variable if ((Result)==0) { printf("string 1 and string 2 are equal"); }else { printf("string 1 and 2 are different"); } return 0; //return value of 0 signals normal termination's // } |
Yukarda st1 ve str2 stringlerine atanan isimlere bakın.Ve ardından result olarak bir integer değişken tanımlanmış durumda.Burada Result =’in arkasından str1 ve str2 , strcmp komutu ile karşılaştırılıyor.
Ve ardından değer resulta yazılıyor.Burada eğer result =0 ise veya =1 ise iki farklı çıktı ekrana printf komutu ile yazdırılmaktadır.
Yukarda bulunan kod bloklarını Code Block programına yapıştırarak program çıktılarını kontrol edin ve bazı koşulları değiştirerek tekrar deneyin.
C PROGRAMLAMA ÖRNEKLERLE ÖĞREN -6 SONUÇ
C programlama örneklerle öğren -6 adlı yazımızın sonuna geldik.Umuyorum sizler için faydalı bir yazı olmuştur.Bizi takipte kalın,
İyi çalışmalar