Merhaba, hoş geldiniz.
Bu konferansta şunları anlatmak istiyorum Son dersimizde
bahsettiğim bazı veri türleri.
Veri türleri önemlidir çünkü bir değişken bildirdiğinizde bunu
sağlamanız gerekir.
Ve gerçek derleyiciye söylerler ne kadar bellek oluşturmak istediğinizi belirleyin.
Bu yüzden boyuta da özeldir.
Yani derleyicinin şuna ihtiyacı var bilgi, ancak desteklenenler
hakkında konuşalım c programlama dili tarafından.
Bu noktaya kadar, c farklı veri türlerine sahip birçok farklı değişken
türüne sahiptir.
Bunu yarattığımızdan beri biliyoruz ve değişkenlerin başlatılması.
Saklamak için türleriniz olabilir tamsayılar, esasen sayılar.
Saklayan türlere sahip olabilirsiniz tamsayı olmayan
sayısal değişkenler, um bilimsel gibi şeyler notasyonu veya doğru ve yanlış değerler olan Booleans
gibi şeyler.
Ve ayrıca elinizde veriler var karakterler gibi depolanması gereken,
ya tek bir karakter veya birçok karakterden oluşur ve bu karakterlere
dize adı verilir.
Ama biz biliyoruz ki bu farklı veri türleri.
Yine, bir c programının güçlü olması için, verileri manipüle etmesi gerekecek ve manipüle
etmesi gerekecek tüm farklı veri türleri.
Bu yüzden bazı örnekler temel veri türlerini destekler.
İçinde birçok veri türü vardır c, ancak
bugün konuşacağımız temel olanlar Bu konferansta int.
Ve unutmayın, bu veriler türleri özel anahtar kelimelerdir.
Yani bir c programında int dediğinizde, derleyici bunun bir veri türü olduğunu
anlayacaktır.
Bu yüzden konuşmak istediğimiz int, float, double,
char veya care ve underscore bool.
Bunlar başlıca şunlardır kullanacaksınız
ve sonra farklı varyasyonlar var Yine istediğiniz veri türüne bağlı olarak
bunların dışında depolamak ve verinin ne kadar büyük olduğu.
Yani bunlar arasındaki fark türleri bellek miktarıdır.
Tüm veri türleri bu kadar veri türlerini belirtmekle ilgilidir.
Bu hafıza ile ilgili. tahsis edilebilir ve bu, ne tür bir mimariye
sahip olduğunuza bağlı olarak değişir.
Ancak bellek ve miktar depolanabilecek değerlerin aralığını
belirleyecektir.
Yani depolama miktarı Belirli bir veri türünü saklamak için tahsis
edilen alan derleyici için önemlidir.
Bu tamamen çalıştırdığınız bilgisayar.
Ve buna atıfta bulunulur makineye bağlı olarak.
Yani eğer programı görmek istersem farklı donanımlara sahip bir
Linux sistemi ile bir Windows sistemi belirli donanımlarda, bir
tamsayı bellekte 4 bayt olabilir veya belki 8 bayt, yine değişir.
Yani makineye bağlı bağlı olarak ne kadar bellek tahsis edildiğinde
çalışıyorsunuz saklamak istediğiniz veriler.
Yani bir tamsayının 32 bit yani 4 bayt yer kaplayabilir
ya da 8 bayt yer kaplayabilir.
Öncelikle int hakkında konuşalım.
Bu, dünyanın en yaygın olarak kullanılan veri türleri.
Saklayabilen bir veri türüdür integral değerler, ondalık basamak
içermeyen değerler, tam sayılar.
Bu, aşağıdakileri tanımlayacağınız zamandır saklanan
sayı için bir int değişkeni oluşturduğunuzda bu veri türü.
Eksi işareti de koyabilirsiniz veri türünden önce gelir, değişkende ters çevrilir
ve bu değerin negatif olduğunu gösterir.
Yani eksi işaretiniz varsa gerçek gerçekle devam ediyor.
Yani burada bahsettiğim şey değişkeni oluşturduğunuzda
ve ona veri atadığınızda, negatif bir değeri negatif bir sayıdır.
Böylece ints negatif sayıları saklayabilir temelde bunun söylediği şeydir.
Ayrıca işaretli bir tamsayıdır.
Bunun ne anlama geldiği hakkında daha fazla konuşacağız, ancak bir işaret tamsayısı sadece
pozitif, negatif veya 0 olabileceği anlamına gelir.
İşte bu yüzden önünde bir eksi var.
Önüne bir tamsayı gelirse x harfinde bir 0 ile.
Yani burada sabitlerden bahsediyoruz.
Burada ne zamandan bahsediyoruz bir int'e veri atarsınız.
Size bir tür tarif etmeye çalışıyorum. Burada saklanabilecek veri miktarı.
Ve böylece veri atadığınızda, değişkenlere nasıl veri atayacağımızı
biliyoruz çünkü bunu öğrendik.
Daha önce, sadece veri tipine atarız ve ardından eşittir operatörünü
kullanarak atarız.
Artık inte'lere değer atayabilirsiniz.
Numaraları atayabilirsiniz Bunu yapmanın en sezgisel
ve kolay yolu, 15 gibi.
Ama aynı zamanda şunları da atayabilirsiniz onaltılık sayılar.
Programlamadaki bilgisayar dil buna izin verir.
Bir onaltılık atamak istiyorsanız sayısını bir tamsayı saklayan
bir değişkene yerleştirirseniz, sadece 0 ve x'ten önce gelir ve bu derleyiciye bunun onaltılık
bir sayı olduğunu söyler.
Onaltılık sayılar 16 tabanında olduğundan a'dan f'ye kadar harfleri saklayabilirsiniz.
Yani onaltılık 0xFEFOD gibi görünür.
Yani bunu ara sıra görebilirsiniz programınızda birisinin
onaltılık sayı atadığı yerde, ve muhtemelen cep telefonunuzun
sadece ondalık veya tam sayı.
Ama aynı zamanda şunları da depolayabilir farklı temsiller.
Ve bu bir 0x ile öncelenir.
158 negatif 10 ve 0 değerleri şunlardır tamsayı değişkenlerine atayabileceğiniz
sabitlerin tüm geçerli örnekleridir.
Gömülü alan yok rakamlar arasında izin verilir.
Ve eğer bir değer atamaya çalışırsanız 999'dan büyükse virgül kullanamazsınız.
Bu yüzden bir değer atamaya çalışmayın x adlı bir değişkene
12.000 eklerseniz, 12000 yapmanız gerekir.
Float, bir başka gerçekten önemli veri türü, temel veri türlerinden biridir.
Bu, aşağıdakileri yapabilen bir değişkendir kayan noktalı sayılar için
veri depolar, bu da sayılar anlamına gelir ondalık basamaklar içeren.
Yani 3 gibi değerler.
125. 8 ve negatif. 001 hepsi float türündeki değişkenlere atanabilecek
geçerli veri örnekleri.
Ayrıca yüzen c'deki nokta sabitleri.
Bu şöyle ifade edilebilir bilimsel notasyonda.
Örneğin, eğer 1'iniz varsa. 7e4, Bu bir kayan nokta değeridir ve
bilimsel olarak ifade edilir notasyonu ile gösterilir ve
1 değerini temsil eder. 7 x 10 üzeri 4.
Yani 17 kere 10000. Bu da 170000 eder.
Bir duble, şamandıraya çok ama çok benziyor.
Ondalık sayıları saklar sayılar, ondalık basamaklar.
Tek fark daha büyük olması böylece daha büyük sayıları saklayabilirsiniz.
Yani bu demek oluyor ki bellekte daha fazla veri toplar.
Yani bir çift kullanmak istiyorsun şamandıra yeterli olmadığında,
çok küçüktür.
Yani float gibi mağazalar düşünüyorum Diyelim ki mimarinize bağlı olarak
bir şamandıra deposu float sekiz bayt saklar.
Bu, depolayabileceği anlamına gelir değerleri
negatif 32000 ile pozitif 32000 arasında değişir.
Eğer aynı şeyi temsil etmeye çalışırsanız veri ve belleği bir double kullanarak,
daha da yüksek sayıları saklayabilirsiniz.
Yani temel olarak kullanmak istediğiniz Uzun milyonlar ve uzun milyonlardan iki kat daha
fazla anlamlı hane milyonlar ve trilyonlar bir şamandıradan
çok daha büyüktür.
Yani çoğu bilgisayar bir çift değerini 64 bit, yani 8 bayt kullanarak hesaplar.
Şamandıralar genellikle 4, çift ya da orada konuşabilirim.
Bu da demek oluyor ki daha fazla veri depolayabilir.
Ve senin yapacağın gibi değişkenini
oluşturmak için çift anahtar sözcüğünü değişkeni adlandırmadan önce.
Tüm kayan nokta sabitleri alınır C derleyicisi tarafından çift değerler olarak.
Yani varsayılan olarak.
Eğer özellikle yapmak istiyorsanız float bir şeyi atadığınızda sonuna bir f2
eklemeniz yeterlidir.
Yani bir float değerini açıkça ifade etmek için sabit, sadece o f'yi oraya koy 12. f.
Alt çizgi bool.
Bu, kullanılabilecek bir veri türüdür sadece 0 ve 1 değerlerini saklamak için.
Boolean terimini sık sık duyarsınız.
Bool içinde boolean ifade, hepsi doğru ya da yanlış demektir.
Evet ya da hayır 0 ya da 1.
Bu yüzden şunlar için endikedir esasen ikili seçenekler.
Ve biz hakkında çok konuşacağız Karar ifadeleri hakkında konuşurken Boolean'lar
ve Boolean ifadeleri.
Boolean değişkenleri şuralarda kullanılır Boolean bir koşulu
belirtmesi gereken programlar, bir doğru veya yanlış türünde bir cevap.
Örneğin, bir değişken bu türü, tüm verilerin işlenip işlenmediğini
belirtmek için kullanılabilir. bir dosyadan okuma, evet veya hayır.
Tüm veriler bir dosyadan okumak?
0 ise yanlış, 1 ise evet, Şimdi bundan bahsedeceğiz.
Yani 0 yanlış olduğunu belirtmek için kullanılır değerini, 1 ise doğru değeri gösterir.
Yani doğru olsa bile ya da yanlış değerler, verilerin
bellekte saklanma şekli sayısal olarak 0 veya 1'dir.
Ancak sayısal değerleri şu anlama gelir 0 yanlış, 1 doğru anlamına gelir.
Yani Booleans çıktısı alacak olsaydınız, doğru ve yanlış değil, 0 ve 1 değerlerinin
yazdırıldığını görürsünüz.
Ancak doğru ya da yanlış anlamına gelirler.
Sadece 2 değere sahip olabilirler.
İşte size bazı veriler içeren bir örnek.
Devam edelim ve bunu koda koyalım blokları ve bunu nasıl yaptığımızı görün.
Yani burada yine temel programımız ve ana rutinimiz var.
Nasıl beyan edeceğimizi biliyoruz değişkenleri, burada veri türünü
sağlamamız gerekir.
Artık daha fazlasını nasıl beyan edeceğimizi biliyoruz daha önce sadece bir int bildirmiştik.
Şimdi gerçekten beyan edebiliriz şamandıra gibi bir şey.
Sadece float anahtar sözcüğünü kullanırsınız ve intellisense'iniz size yardımcı olacaktır.
Ve sonra isimlendirmeyi takip edersiniz sözleşmeleri tekrar Jason diyelim ve sonra
ona bir değer atayabiliriz.
Floatlar ondalık basamaklardan oluşur.
Yani 23 diyebiliriz. 22, ve bu bir float içerir ve biz onu atarız.
Bu yüzden başlatıyoruz ve yaratıyoruz 23 değerini içeren float
türünde bir değişken. 33, ve fark ettiniz ki Sonundaki noktalı virgül.
Aynı şeyi iki katı için de yapabiliriz.
Gelmek zorundayız başka bir isim bul.
Jason2 diyebiliriz.
Anlamlı isimlerimiz olsun istiyoruz Gerçi burada sadece daha büyük bir
sayı olacağını biliyoruz.
Yani çok fazla olacak.
Ve bunu şu şekilde de ifade edebiliriz İstersek bilimsel notasyon da kullanabiliriz.
Buraya bir e artı 11 koyabiliriz.
Biliyorsun ama o büyük sayı float içinde saklanamayacaktır
ve bu Neden duble kullanalım ki?
Bir bool oluşturabiliriz.
Ve burada sadece bool değişkeni Genellikle deve kılıfı istersiniz.
Ve sonra burada, biz sadece bunu içermesi gerekmese bile doğru olduğunu söyleyin. yazdırabilir
veya 1 olarak ayarlayabiliriz.
Ve sonra her zaman istiyorsun komutunuzu derleyin ve çalıştırın.
bool türü ayrıca genellikle diğer isimlere takma ad olmuştur, bu nedenle her zaman sadece alt çizgi
bool kullanın, kullandığınız derleyiciye
bağlıdır.
Bu aslında iyi derlenmiş.
Sadece kullandığımı söylüyor uyarıları veren değişkenler.
Unutmayın, c'nin farklı standartları vardır.
C89 standardı şu özelliklere sahip olduğunuz anlamına gelir öğrendiğimiz gibi alt çizgi bool kullanmak,
boğanın altını çizmek büyük b ile ve benzeri.
C99 standardı ile şunları sağlar bool veri tipindeki doğru yanlış değerlerini
kullanmanız gerekir.
Yani kullanmak zorunda değilsiniz alt çizgi bool
ve sonra bir değişken oluşturun my Boolean ve ardından 1 veya 0'a eşit olarak ayarlayın.
1 doğru, 0 yanlış.
C99 ile bunu yapmak zorunda değilsiniz.
Alt çizgi bool sadece C89 standardında.
Yani eğer bir C99 derleyicisi kullanıyorsanız aslında bool veri türünü kullanabilir.
Tek yapmanız gereken include demek için ve sonra include
standard bool diyebilirsiniz. h.
Bu bir makroya sahip olacak farklı bir veri türü olan geleneksel bool veri
türünü kullanmanıza olanak tanır.
Yani standartları dahil ettiğinizde bool. h, artık alt çizgi bool yerine
şunu söyleyebilirsiniz sadece bool deyin ve bunu bir veri türü olarak tanıyacaktır.
1 veya 0 demek yerine şunları yapabilirsiniz true diyebilir veya bool diyebilirsiniz,
başka bir Boolean ve false diyebilirsiniz.
Eğer alt çizgi kullanmayı sevmiyorsanız veri türünüz için bool, ki
bu da yine çoğu dil için geçerli değildir kullanırlar, genellikle
sadece bool veya Boolean gibi bir şey kullanırlar. bool. h ve bool belirttikten sonra true ve false bool veri
tipindeki anahtar sözcükler.
Peki diğer veri türleri, diye sorabilirsiniz "Neden daha fazla veri türüne ihtiyacım var?" sorusunu
kendinize sorabilirsiniz.
Hemen hemen konuştum sayılar, neden sayıları farklı şekillerde temsil etmem
gerekiyor.
Yani hala konuşmadık karakterler hakkında
konuşacağız ve bazı diğer yeni veri türleri.
Ama sayılara gelince, sayıların ondalık veya ondalık olmayan
sayılar olduğundan bahsetmiştik int çiftler ve kayan sayılar.
Ve diyeceksiniz ki muhtemelen yeterlidir.
Ve genellikle int yeterlidir.
Tek ihtiyacınız olan bir karınca.
Bir in'i oldukça sık kullanacaksınız.
Ancak c esnek bir dildir.
Ve avantajlarından biri olarak, orada diğer tamsayı türlerini temsil edebileceğiniz başka
birçok veri türü vardır.
Ve biraz esneklik sağlar programcıya.
Kullanım durumuna bağlı olarak, verilere bağlı olarak daha da hassas
olmasını sağlar.
Bu, c daha da verimli hale gelebilir.
Eğer varsa çok, çok özel bir şey.
Belirli bir veri türünün bir parçası olarak bir integral veya bir tamsayı
olarak ve programın daha hızlı çalışmasını sağlayacaktır.
Bu yüzden programcıya seçenekleri, ek veri türleri ile
esneklik.
Tamsayı türleri değişebilir aralıklarında ve negatif sayıların kullanılıp kullanılamayacağı.
Bu yüzden bazı veri türlerini tamsayılar açısından konuşmak
için, ancak bunlar kayan noktalar için de geçerlidir ve doubles zaten
int'e atayabileceğiniz bazı anahtar kelimelerdir, ama her zaman gerekli değildir.
Yani temelde daha fazlasına sahip olabilirsiniz ints'in belirli sürümleri, ints'in
daha belirli sürümleri floats veya doubles veya bu anahtar sözcükleri tek başlarına
kullanabilirsiniz.
Örneğin şöyle diyebilirsiniz short int, bu bir veri türüdür.
Ve sana bunun ne olduğunu söyleyeceğim. veya long int veya unsigned int veya short
double veya long double anlamına gelir.
Bunların hepsi ek verilerdir bu 3 sıfatla tipler.
Ama aynı zamanda int, float veya çiftler ile birlikte.
Sadece kısa diyebilirsin ya da sadece uzun diyebilirsiniz
veya sadece -- ve bu sağlayacaktır depolayabileceğiniz belirli veriler.
Ama bu tamamen daha hassas ve programı daha verimli
hale getirir.
Yine, muhtemelen sadece int kullanacaksınız, çoğunlukla double ve float.
Ama bir tane daha almaya başladığında ileri c, short, long ve
unsigned kullanmaya başlayacaksınız int, double float ile birlikte.
Örneğin short int yazın ya da tek başına kısa, dediğim gibi ikisini de kullanabilirsiniz.
Daha az depolama alanı kullanır int, böylece yerden tasarruf edebilir.
Yani eğer bir program yazıyorsanız çok fazla belleğe ihtiyaç duyar ve programın verimli olması
ve çok fazla bellek kullanmaması gerekir. çok fazla bellek, şortlar oluşturabilirsiniz.
Yani bu esnekliğe izin verir, bu da int yerine short kullanırsanız kodunuz
daha verimli olur.
Kısa kullanmak zorunda değilsiniz, ancak daha az bellek kullanacaktır.
Aynı şey uzunlar için de geçerli.
Daha fazla bellek kullanırlar ve aslında daha büyük bir veri.
Yani uzun bir uç daha fazla kullanacak daha büyük tamsayı değerlerini saklamanıza olanak
tanır ya da şöyle diyebilirsiniz uzun float veya sadece uzun diyebilirsiniz ve bu daha
büyük bir float olacaktır. saklayabileceğiniz tamsayı değeri.
Kendinize şu soruyu sorabilirsiniz neden çift kullanmıyorsunuz çünkü çift
hatırlamada ondalık noktalar vardır.
Yani saklamak isteyebilirsiniz sadece gerçekten büyük
bir int, long kullanabilirsiniz.
Yani bir long long int türü başka bir tip veya long long'dan daha fazla depolama
alanı kullanabilir.
Ve yine, her şey şunlara bağlıdır mimaride kullandığınız
bilgisayar platformu.
Değerler atayabilir, şunları kullanabilirsiniz tüm bu farklı türler.
Birçoğunun farklı bir ekleyebileceğiniz harfler.
Örneğin, burada eğer uzun bir sabit değer atarken,
sadece büyük l veya sonuna küçük l harfi eklediğinizde bu değeri uzun bir
long olarak atayacaktır.
Aynı şey eğer bazı şortlar yapıyorum.
Son ekleri de uygulayabilirsiniz derleyicinin açıkça
bildiğinden emin olmak için sonunda Neyle uğraştığınızı.
Yani tür belirleyiciler çiftlere de uygulanabilir.
Bahsettiğim gibi, bu şortlar ve uzun çift diyebilirsiniz.
Ve burada, uzun bir iki kez 2017 açığımızı aradı.
Uzun çiftler için yapabilirsin.
Büyük L harfini şu şekilde kullanabilirsiniz İnt'lerde yaptığınız gibi
l'den bahsettim veya küçük harfle yazdım.
Diğer veri türlerine gelince Bunun yanı sıra, imzalanmamış olanlarla ilgili
olarak konuştuğumuz kısa ve uzun unsigned önekini int, doubles veya floats olarak ayarlayabilirsiniz
ve bu sadece negatif olmayan değerlere sahip değişkenler için kullanılır.
Bu yüzden bir int negatif olmayan sayıları saklayabilir,
sadece eksi dersiniz.
int'in saklanmasını istemiyorsanız negatif bir sayı ise, bunu
işaretsiz bir int olarak bildirebilirsiniz ya da sadece işaretsiz, ve bu tüm her şeyin
buna atanmış olması olumludur.
İşte teoride böyle çalışıyor.
Bazı derleyiciler bunu zorunlu kılmaz.
Ama eğer bir imzasız int ve negatif bir sayı atamaya çalıştıysanız, derleyici
şikayet etmelidir.
Örneğin imzasız karşılaşma.
Ve yine, bu da gerçek enerji değişkeninin yalnızca pozitif değerlere izin verecek
şekilde genişletilmesi.
Yani programınızı daha fazla tüm bu farklı veri türlerini kullanarak
verimli, bu daha bunlar için belirtilen veri türleri.
Ayrıca imzalı veriler de var ints, floats ve doubles
türlerine uygulanabilen veya kısa işaretli, kısa işaretli int.
Herhangi bir tür ile kullanılabilir Niyeti daha açık hale getirmek için.
İmzalı şort kısa int, Şortlar, hepsi aynı.
İmzalı olması şu anlama gelir negatif ve pozitif olabilir.
Yani bunlar sadece temel veriler konuşmak istediğim türler.
Bunlar gideceğiniz konuştuğum birkaç tane daha ile birlikte çoğu
zaman kullanmak için bir sonraki derste anlatacağım.
Genellikle almak zorunda değilsiniz daha fazla olmadıkça kısa
ve uzun pozisyonları kullanmaya ilerliyorsunuz ve programınızı daha verimli hale getirmeye
çalışıyorsunuz.
Ancak tüm bu veri türleri değişkeni bildirdiğinizde değişken adından
hemen önce sağlanır.
Ve sonra bunlara veri atadığınızda Bu farklı türlerdeki değişkenler
için, büyük l gibi son ekler veya açık bir niyete sahip olmak için küçük harf l.
Teşekkür ederim.