DİZİLER.

Slides:



Advertisements
Benzer bir sunumlar
Dizi Kullanan Örnekler
Advertisements

STRİNG FONKSİYONLARI.
Diziler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama
Göstericiler (Pointers)
Bölüm 2 C Dilinin Temelleri
String Diziler(Katarlar)
Diziler.
Elektrik-Elektronik Mühendisliği Bölümü DİZİLER C Programlama Dili Yaz Stajı Cengiz TEPE SAMSUN 2007.
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
String Kütüphanesindeki Arama Fonksiyonları
Diziler(Arrays).
Bölüm 10 Yapılar ve Birleşimler
Bölüm 3: Göstergeler BTEP 102 – Veri Yapıları ve Programlama
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Diziler.
Soru1: Dışardan "%s" format belirteci kullanılarak girilecek 20 elemanlı bir dizinin elemanlarının kaç tanesinin rakam, kaç tanesinin harf ve kaç tanesinin.
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
Nesneye Yönelik Programlama
Görsel C# Programlama Güz 2009 (6. Hafta).
C ile Programlamaya Giriş
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
DEĞİŞKENLER VE VERİ TİPLERİ
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
BM-103 Programlamaya Giriş Güz 2014 (8. Sunu)
Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Diziler (Arrays).
JAVA’DA DİZİLER Dr.Galip AYDIN.
Temel Giriş/Çıkış Fonksiyonları
Bölüm 3: Diziler BTEP 102 – Veri Yapıları ve Programlama
Diziler. Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
Bilgisayar Programlama. Tek bir değişken tanımlamak için aşağıdaki gibi bir yazım yeterlidir. int i; Hatırlanacağı gibi bu tarz bir tanımlamada.
DİZİLER Arrays.
STRING‘LER Karakter Kütüphanesi Fonksiyonları
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Değerler ve Değişkenler
PROGRAMLAMA DİLLERİNE GİRİŞ Ders 4: Diziler
Bugünkü konular Programlama dilleri ve Syntax Generic C Program yapısı
2. HAFTA 2. Hafta.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Doç. Dr. Cemil Öz SAÜ Bilgisayar Mühendisliği Dr. Cemil Öz.
BİLGİSAYAR programlama II
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Bölüm 8 Diziler Dizi Tanımı Dizi Elemanlarına Değer Atama Diziler ve Göstergeler 2-Boyutlu Diziler.
7. HAFTA.
Fonksiyonlar ve Diziler
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 2 C Dilinin Temelleri
ARDUİNO Arduino Eğitimleri Bölüm 3 Programlama Dili Temelleri
JAVA’DA DİZİLER. Özet  Dizi: belirli sayıda ve aynı veri türünden de ğ işkenlere aynı adla erişilmesini sa ğ layan bir yapıdır.  Dizilerde döngü işlemleri.
C++ Programming:. Program Design Including
Bilgisayar Bilimi Problem Çözme Süreci-2.
YAPISAL PROGRAMLAMA Hafta-7
Bilgisayar Programlamasına ve Veri Analizine Giriş
Bölüm 3: Göstergeler BTEP 102 – Veri Yapıları ve Programlama
Karakter dizi fonksiyonları
Bölüm 2 C Dilinin Temelleri
Bir Döngünün Bölümleri (hatırlatıcı)
Bilgisayar Programlamasına ve Veri Analizine Giriş - VI
Diziler(Arrays).
Sunum transkripti:

DİZİLER

Dizi Nedir? Tek isim altında gruplandırılmış değişkenler (aynı tipteki) toplamıdır. Daha özel olarak, aynı tipte ve aynı isimle belirtilmiş değişkenler için bir grup hafıza yerleşimidir. Dizilerin oluşturulmasında kullanımında olduğu gibi kabul edilmiş özel düzenler vardır, fakat birbiriyle ilişkili değişkenlerle çalışmayı daha kolaylaştırır. 04.04.2019

Tam olarak ne hakkında konuşuyoruz?! On öğrenciniz olduğunu ve herbiri için notları kaydederek programınız boyunca kullanmak istediğinizi varsayalım (yalnızca döngüyü değil her bir notu hatırlamamız ve saymamız veya ortalamasını almamız vb. gerekir) Zor yolla yapılabilir: iStudentOneGrade olarak on değişken belirleyin iStudentTwoGrade, iStudentThreeGrade, etc. Kullanması ve amaçlarımız doğrultusunda yönetilmesi oldukça zor Bunun yerine bunu kolay yoldan yapmak için bir dizi kullanılabilir. 04.04.2019

Bir dizi değişkenini kullanmak arrStudentGrades[10] isimli bir dizi değişkeni oluşturun Aşağıdaki gibi bildirin: int arrStudentGrades[ 10 ]; Bu, hafızada, # ‘in bakmak istediğiniz belirli bir öğrenciyi temsil ettiği arrStudentGrades[#] olarak başvurulabilecek 10 tamsayılık bir bölge tesis eder. “arr” öneki bir Hungarian gösterimidir (gerekli değil) 04.04.2019

Dizi İsimlendirme Hususları Dizi değişkeni isimleri seçerken değişken isimlendirme kuralları uygulanır. Harf, rakam ve alt çizgi karakterlerinin birleşimidir Bir rakamla başlayamaz Değişken isimleri için önerilen tüm iyi programlama ipuçlarını takip edin isimlendirirken yalnızca sıradan bir değişkenmiş gibi düşünün Hungarian gösterimini kullanıyorsanız, iStudentGrades[10]yerine arrStudentGrades[10] kullanın 04.04.2019

Dizinin Bölümleri Dizinin henüz görmediğimiz bir terminolojisi vardır Elemanlar Gösterge (veya yerleşim numarası) İndis Sıfırıncı eleman 04.04.2019

Elemanlar Dizi tarafından temsil edilen bağımsız parçaların numaralarına işaret eder. 10 tamsayılı bir dizinin 10 elemanı olduğunu söylenir 15 gerçel sayılı dizinin 15 elemanı olduğu söylenir 5 karakterli bir dizinin 5 elemanı olduğunu söylenir ve saire... 04.04.2019

Gösterge (Yerleşim Numarası veya İndis) Dizi içindeki belirli bir elemana işaret eder Aynı zamanda yerleşim numarası veya daha resmi şekilde indis olarak da bilinir. Dizideki ilk eleman 0 (sıfır) göstergesi veya indisi ile temsil edilir. Örneğin; arrStudentGrades[ 0 ] İlk yerleşim sıfırıncı eleman olarak bilinir. İkinci yerleşim şu şekilde temsil edilir arrStudentGrades[ 1 ] 04.04.2019

Dizi yerleşimlerini hesaplamak C’de dizilerin elemanları 0 indisi ile başlar ve artarak devam eder (eleman sayısı - 1’e kadar) Örneğin, 10 öğrencinin notları ile doldurulmuş dizimiz aşağıdaki gibi görünecektir: 88 82 90 89 98 78 38 99 76 85 Value 9 8 7 6 5 4 3 2 1 Index 04.04.2019

Dizi yerleşimleri (devam) Bunlara dizi isimlerini takiben köşeli parantez içindeki indis numaralarını belirterek erişebiliriz. Örneğin; printf (“The third student’s grade is %d\n”, arrStudentGrades[ 2 ] ); Dizi içindeki yalnızca üçüncü tamsayı yerini yazar (0’ın ilk, 1’in ikinci, ve 2’nin üçüncü gösterge / indis elemanı olduğunu hatırlayın) Çıktı şöyle görünecektir: The third student’s grade is 99 04.04.2019

Dizi yerleşimleri (devam) İndis yerleşiminin 0’dan başlaması başlangıçta kafa karıştırıcı olabilir Bu pek çok off-by-one hatalarının sebebidir bu yüzden bu kavrama dikkatlice çalışın 04.04.2019

Kitap terminolojisiyle konu Kitap açıklamaları: “Her dizinin ilk elemanı sıfırıncı elemandır. Bu nedenle c dizisinin ilk elemanına c[0] , c dizisinin ikinci elemanına c[1] ... olarak ve, genellikle c dizisinin i’ninci elemanına c[i-1] olarak başvurulur.” “dizinin yedinci elemanı” ve “dizi elemanı yedi” arasındaki farka dikkat etmek önemlidir. Çünkü dizi indisleri 0 ile başlar, “dizinin yedinci elemanı” indis olarak 6’ya sahip olduğu gibi “dizi elemanı yedi” indis olarak 7 ’ye sahiptir ve aslında dizinin sekizinci elemanıdır. Eğer sayfa 197 eleman 0 deseydi daha az kafa karıştırıcı olabilirdi. 04.04.2019

indis terminolojisi Bu noktadan itibaren, bu ders için, dizi elemanlarının tüm referansları dizinin indisini işaret edecektir. Dizideki bir elemanın yeri ile ilgili tartışmak istediğimiz olayda, onun yerini işaret edeceğiz. Bir başka deyişle, sıfırıncı elemanı işaret etmediğimiz sürece i’ninci elemanı veya eleman i gösterimini kullanmayacağız. 04.04.2019

Dizilerin bazı güçlü özellikleri İfadeleri indis olarak kullanabilme Ör: eğer değişken a = 1 ve b = 2 ise arrStudentGrades[ a+b ] yazmak, arrStudentGrades[3] yazmak ile aynı olacaktır. İfadelerde dizi elemanlarını kullanabilme E.g. int iGradeTotal = 0 ; iGradeTotal = arrStudentGrades[ 0 ] + arrStudentGrades[ 1 ] + arrStudentGrades[ 2 ] + … arrStudentGrades[ 9 ] ; Bütün dizi elemanlarını toplayıp bunu iGradeTotal’da depolayacaktır. 04.04.2019

Güçlü özellikler (devam) Dizi elemanlarını başka değerlere veya ifadelere eşitleyebilme. Örneğin: arrStudentGrades[ 1 ] = 100 ; Bu, dizi elemanını 1 indisi ile 100 notuna eşitler. Böylece 2. öğrenci 100 notunu alacaktır. 04.04.2019

Öyleyse dizileri nasıl kullanıyoruz? Başka değişkenlere uygulanan benzer kavramlar Dizi bildirilmeli Dizi başlangıç durumuna getirilmeli Sıradan değişkenlerin kullanımına benzer şekilde dizileri ifadelerde ve fonksiyonlarda kullanabilme, elemanlarının değerini belirleyebilme veya değerlerini kullanabilme 04.04.2019

Bir diziyi bildirmek #define GRID_ROWS_MAX 8 Dizideki elemanların tipi, dizinin ismi ve dizideki eleman sayısı belirtilmelidir, böylece bilgisayar dizi için yeterli hafızayı bir yana ayırır. Bildirim, diğer değişkenlerin bildirimi ile benzerdir (parantezler ve elemanların numaraları hariç): int iMyFirstArray[ 15 ] ; or int iMyFirstArray[ 15 ], iMySecondArray[ 20 ]; Dizinin büyüklüğünü belirlemek için #define sabitini kullanabilirsiniz #define GRID_ROWS_MAX 8 int arrGridRows[ GRID_ROWS_MAX ] ; 04.04.2019

Bir diziyi başlangıç durumuna getirmek Diğer değişkenlerde yaptığınız gibi bir diziyi bildirdiğiniz zaman başlangıç durumuna getirebilirsiniz Yazım tamamen farklı, şimdi aynı anda birden fazla elemanı başlangıç durumuna getiriyorsunuz Bildirimin bir yolu, başlatıcılar kullanılarak: int iMyFirstArray[ 5 ] = { 0, 0, 0, 0, 0 } ; Birbirlerinden virgüllerle ayrılan başlangıç sıfırlarının etrafındaki parantezlere dikkat edin 04.04.2019

Bir diziyi başlangıç durumuna getirmek (devam) Sahip olduğunuz elemanlardan daha az sayıda başlangıç değerini belirtecekseniz, kalanların tümü 0 değeriyle başlangıç durumuna getirilecektir! Örneğin: int iMyFirstArray[ 5 ] = { 0 }; bütün elemanları 0 olarak ayarlar. int iMyFirstArray[ 5 ] = { 4 }; int iMyFirstArray[ 5 ] = { 4 }; 0’ıncı elemanı 4 ve kalanları 0 olarak ayarlar. 04.04.2019

Bir diziyi büyüklük belirtmeden başlangıç durumuna getirmek Aynı zamanda eleman sayısını ve başlangıç değerlerini aynı adımda belirleyebirsiniz: int iMyFirstArray[ ] = { 0, 0, 0, 0, 0 } ; Dikkat: HİÇBİR büyüklük yoktur; C diziyi beş başlangıç değeri verdiğinizde otomatik olarak 5 elemanlı yapar. 04.04.2019

Diziyi bir for döngüsüyle başlangıç durumuna getirmek Bir diziyi bildirdikten sonra, programınızın gövdesi içinde onu başlangıç durumuna bir for döngüsü kullanarak getirebilirsiniz. int i = 0, iMyFirstArray[ 5 ] ; /* size is 5*/ /* büyüklük 5*/ for ( i = 0 ; i <= 4 ; i++ ) { iMyFirstArray[ i ] = 0 ; } /* end for i */ /*i for’unun sonu */ Üst sınırın 5 değil 4 olduğuna dikkat edin! Böylece, 5 elemanlı bir dizi için 0’dan 4’e kadar döneceksiniz. 04.04.2019

Elemanlara for döngüsü ile erişmek Bir dizinin elemanlarını yazdırmak için bir for döngüsü kullanılabilir #define SIZE 5 int i = 0, iMyFirstArray[ SIZE ] ; /* go through all element index */ /* göstergedeki tüm elemanlar boyunca ilerle */ for ( i = 0 ; i <= SIZE - 1 ; i++ ) { printf( “%d”, iMyFirstArray[ i ]) ; } /* end for i */ /* i for’unun sonu */ 04.04.2019

int myFirstArray[SIZE], i; for (i=0; i<=SIZE-1; i++) #define SIZE 10 int main() { int myFirstArray[SIZE], i; for (i=0; i<=SIZE-1; i++) myFirstArray[i] = i * 2; printf("myFirstArray with subscript of %d holds the value %d\n", i, myFirstArray[i]); return 0; } 04.04.2019

Diziler devamı

Dizilerin yeniden incelenmesi Elemanlar: Dizi tarafından temsil edilen bağımsız parçaların numaralarına işaret eder Gösterge (veya daha resmi şekilde, İndis) Dizi içindeki belirli bir elemana işaret eder Dizideki ilk eleman 0 (sıfır) göstergesi veya indisi ile temsil edilir. Örneğin, arrStudentGrades[ 0 ] İkinci yerleşim şu şekilde temsil edilir arrStudentGrades[ 1 ] 04.04.2019

Dizi yerleşimler (tekrar inceleme) C’de dizilerin elemanları 0 indisi ile başlar ve artarak devam eder (eleman sayısı - 1’e kadar) Örneğin, 10 öğrencinin notları ile doldurulmuş dizimiz aşağıdaki gibi görünebilir: 88 82 90 89 98 78 38 99 76 85 Value 9 8 7 6 5 4 3 2 1 Index 04.04.2019

Dizi hakkında (devam) İndis yerleşiminin 0’dan başlaması başlangıçta kafa karıştırıcı olabilir 04.04.2019

Dizileri daha az karmaşık hale getirmek Bu off-by-one hatalarından kurtulmayı nasıl deneyebiliriz? İlk bileşenimize indis sıfır olarak başvurmayı nasıl engelleyebiliriz? Son bileşenimize indis “eleman sayısı - 1” olarak başvurmayı nasıl engelleyebiliriz? 04.04.2019

Daha çok sezgisel kullanım için dizileri nasıl yapılandırmalıyız İhtiyaç duyduğunuzdan bir fazla elemanı olan bir dizi oluşturun indis 0 ile temsil edilen bileşene öylesine bir değer yerleştirin Geçerli verileri indis 1 ile yerleştirmeye başlayın Bu yolla, “asıl” ilk bileşeniniz indis 0 değerine değil indis 1 değerine sahip olacaktır ve son geçerli bileşeninizin indis değeri dizinin büyüklüğü değerine eşit olacaktır (büyüklük - 1 değil) 04.04.2019

Örnek On öğrenciniz olduğunu ve herbiri için notları kaydederek programınız boyunca kullanmak istediğinizi varsayalım (yalnızca döngüyü değil her bir notu bunları bir kez saymak yada ortalamalarını almak için hatırlamamız gerekir) 04.04.2019

Dizi yerleşimlerini hesaplamak, eski örnek, yeni yöntem On öğrenciyi ve notlarını tutan dizimizi hatırlıyor musunuz? Onbir elemanlı bir dizi oluşturun 10 öğrencinin notları ile doldurulmuş dizimiz aşağıdaki gibi görünecektir: 88 82 90 89 98 78 38 99 76 85 Değer 10 9 8 7 6 5 4 3 2 1 İndis 04.04.2019

Eski örnek, yeni yöntem devam Bu yolla, 1. Öğrenci ile ilgilenmeye ihtiyaç duyduğunuzda, indis 0’a değil indis 1’e başvuruyorsunuz. Şimdi, bir for döngüsünde 1 ile başlayabilirsiniz ve eleman sayısı kadar tekraralayabilirsiniz (eleman sayısı - 1 değil) Bazen anlaşılırlık fazladan hafıza kullanımına ağır basar Eğer pek çok dizisi bulunan büyük programlara sahipseniz hafızaya değmeyebilir. Gerçek şu ki, böyle ucuz ve bol hafıza ile, pek çok durumda muhtemelen büyük bir çalışma olmayacaktır. 04.04.2019

Uyarı Programınızda bu çalışmayı anlaşılır biçimde açıklayın Bunu kullanırsanız, BÜTÜN program boyunca İSTİKRARLI olun. Bunu bir dizi için kullanıp diğerleri için kullanmamak daha fazla karışıklık oluşturacaktır. 04.04.2019

C’nin dizi sınırı kontrolü yoktur Programınızın bir dizinin sınırları dışındaki bir elemana erişmediğinden emin olmak sizin sorumluluğunuzdadır. Örneğin, eğer 10 büyüklüğünde bir dizi bildirmişseniz, ve indis 10’a erişmeye çalışıyorsanız (hatırlayın, en yüksek geçerli indis 9’dur), var olmayan bir elemana erişmeye kalkışıyorsunuz. 04.04.2019

Dizilerde tamsayılarla sınırlandırılmıyorsunuz. Başka tipteki diziler Dizilerde tamsayılarla sınırlandırılmıyorsunuz. Gerçel tipleri (float, double) ve hatta karakterleri içeren pek çok farklı tipte diziler oluşturabilirsiniz. Bir karakter dizisi, bir string(karakter diziyi)’i depolamak için kullanılabilir. 04.04.2019

Strings (Karakter) Diziler Karakter dizileri daha önce görmüştük: printf kullanırken, tırnak işaretleri arasındaki «malzeme» bir karakter dizidir. printf(“Hi, I am a string!\n”); Parçalara ayırdığınızda, bunun gibi bir karakter dizi gerçekte karakterlerden oluşmuş bir dizidir. Öyleyse bu karakter dizileri nasıl bildiriyoruz? 04.04.2019

Karakter dizileri bildirmek char cMyFirstString[ ] = “Hello”; Bu bir dizi oluşturur ve dizinin elemanlarını karakter dizi içindeki her biri ayrı karakter olarak başlangıç durumuna getirir. Hatırlayın, dizi için bir boyut belirlemediğimiz sürece, başlangıç değeri boyutu belirler. Karakter diziler en sonunda diziye de eklenen gizli bir karakter içerirler. Yani “Hello” dizisinin büyüklüğü, karakter dizi sonlandırma karakteri - boş karakter olarak bilinir - eklendiğinden beş değil altıdır. 04.04.2019

Null (Boş) karakter Karakter diziler, karakter dizinin sonunu belirten özel bir sonlandırma karakterine sahiptir. Boş karakter ters kesme imini takip eden bir sıfırdan oluşur. Bunun şöyle bir görüntüsü vardır: ‘\0’ C’deki bütün karakter diziler bununla biter. Bir karakter dizisi bulunduran bütün diziler bütün karakterleri olduğu gibi boşluk karakterini de barındıracak kadar büyük olarak bildirilmelidir. 04.04.2019

Bir başka şekilde bildirmek ve başlangıç durumuna getirmek Bir tamsayı dizisini başlatıcılarla nasıl başlangıç durumuna getirdiğimizi hatırlıyor musunuz? int iMyFirstArray[ 5 ] = { 0, 0, 0, 0, 0 } ; Karakter dizi için benzeri bir şeyler başlatıcılarla yapılabilir char cMyFirstString[] = {‘H’, ‘e’, ‘l’, ‘l’, ‘o’,‘\0’}; Bu bir dizi oluşturur ve dizinin elemanlarını birbirinden farklı karakterlerle başlatır (en sondaki boşluk karakterine dikkat edin) 04.04.2019

Bildirmek ve Başlangıç Durumuna Getirmek (devam) Tamsayılarda olduğu gibi, sahip olduğunuz eleman sayısından daha az başlangıç değeri belirtirseniz, geriye kalanların tümü 0 değeriyle başlar. Örneğin, char cMyFirstString[ 5 ] = { ‘A’ }; sıfırıncı elemanı ‘A’ ve geriye kalanları 0 olarak belirler. Karakter dizi “A” olacaktır “A0000” değil. karakterden sonraki ilk 0 boşluk karakteri olarak okunur. 04.04.2019

Bir dizideki karakterlere erişmek Madem ki bir karakter dizi karakterlerden oluşan bir dizidir, her bir elemana tamsayı dizilerinde olduğu gibi erişilebilir. Örneğin, char cMyFirstString[ ] = “Hello”; cMyFirstString[ 0 ] /* ‘H’ karakteridir …. cMyFirstString[ 2 ] /* ‘l’ dir. 04.04.2019

Karakter dizileri yazdırmak Zor yolda yazdırabilirsiniz... for ( i = 0; sMyFirstString[ i ] != ‘\0’ ; i++ ) { printf( “%c”, sMyFirstString[ i ] ) ; } ... Yada daha kolay bir yol: printf (“%s\n”, sMyFirstString ); Yeni dönüşüm karakterinin karakter diziyi belirten %s olduğuna dikkat edin. 04.04.2019

Girdileri Karakter Diziler olarak Okumak Klavyeden girdiğiniz bir stringi bir karakter diziye okuyabilirsiniz. İlk önce, beklenen girdiyi tutabileccek kadar büyük bir dizi oluşturmalısınız. char sInput[ 20 ] ; Daha sonra scanf’i %s belirteci ile kullanın scanf( “%s”, sInput ); Scanf’deki DİZİ İSMİNİN ÖNÜNDE & BULUNMADIĞINA DİKKAT EDİN! Diziler için buna gerek duyulmaz! 04.04.2019

Girdiyi Okumak devam Siz bir whitespace karakteri girene kadar scanf diziyi doldurmaya devam eder. Dizinizin girdi için yeterli uzunlukta olması SİZİN sorumluluğunuzdadır. Eğer dizi girdi için çok küçükse, scanf dizi uzunluğunun sınırları dışında yazmaya devam eder. muhtemelen bir çalışma-anı hatasıyla sonuçlanacaktır. Hatırlayın, boşluk karakteri için bir yer bırakmalısınız! 04.04.2019