İle C ve C ++ Arasındaki Fark | Programlama dilleri

Anahtar fark: C ve C ++ iki farklı bilgisayar programlama dilidir. C ++, C programlama dilinden geliştirilmiştir; ancak doğada oldukça farklılar. En belirgin fark, C'nin yordam yönelimli bir dil olduğu, oysa C ++'ın hem yordamsal hem de nesne yönelimli programlamayı desteklediğinden, genellikle hibrit dil olarak adlandırılır.

C ve C ++ iki farklı bilgisayar programlama dilidir. C aslında 1969 ve 1973 arasında AT&T Bell Labs'ta Dennis Ritchie tarafından geliştirildi. C ++ başka bir genel amaçlı programlama dilidir. Orijinal C programlama dilinden geliştirilmiştir. 1979'da başlayan Bell Laboratuarlarında Bjarne Stroustrup tarafından geliştirilmiştir. C ++ başlangıçta C'ye dayandığı için Class'larla C olarak adlandırılmıştır. 1983 yılında C ++ olarak yeniden adlandırılmıştır.

C şu anda kullanılan en eski programlama dillerinden biridir ve en yaygın olarak kullanılan programlama dillerinden biridir. Assembly dilinde daha önce kodlanmış uygulamalarda sürekli olarak kullanılmıştır. Bu, UNIX bilgisayar işletim sistemini de içerir. C ayrıca doğrudan veya dolaylı olarak C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python ve Unix'in C kabuğu gibi programlama dillerinin çoğunu da etkilemiştir. Tüm bu yeni dillere rağmen, C hala popüler bir programlama dilidir.

C ++ başlangıçta C'ye bir geliştirme olarak başlamıştır. C ile uyumlu bir kaynak ve bağlantı olacak şekilde tasarlanmıştır. Ancak, sınıflar, sanal fonksiyonlar, operatör aşırı yüklenmesi, çoklu kalıtım, şablonlar, istisnaların işlenmesi vb. Eklenmiştir. kendi başına bir programlama dili olarak kabul edilecek kadar. İlk olarak 1998 yılında ISO / IEC 14882: 1998 sertifikalı programlama dili olarak onaylandı. Bugün, C ++ şimdi yaygın olarak donanım tasarımı için kullanılıyor.

C, deyim sonlandırıcı olarak noktalı virgül (;) ve ifade bloklarını gruplamak için küme parantezleri ({}) kullanan genel amaçlı bir programlama dilidir. Yapısal programlama için olanaklara sahiptir ve tasarımı, tipik makine talimatlarına göre verimli bir şekilde eşleştirilebilecek yapılar sağlar. Ayrıca, sözcüksel değişken kapsamı ve özyinelemesine izin verir ve pek çok istenmeyen işlemi önleyen statik bir tür sisteme sahiptir.

Bununla birlikte, C ++ 'a kıyasla, C'nin sayısız sınırlılığı vardır. C nesne yönelimli olmadığı için OOPS kavramlarını desteklemez. C işlevi ve operatör aşırı yüklenmesini desteklemiyor. Yapıların içindeki fonksiyonları kullanamaz. Sanal işlevleri ve referans değişkenleri veya istisna işlemeyi desteklemez. Ayrıca referans değişkenleri desteklemiyor. Ek olarak, C ayrıca kapsülleme veya veri güvenliğini sağlamaz. Buna karşılık, C ++ tüm bu özellikleri destekliyor.

Ayrıca, C NAMESPACE özelliğini desteklemiyor, oysa C ++. Bir ad alanı, tanımlayıcıları gruplandırmaya izin veren (türlerin, işlevlerin, değişkenlerin vb.) Tanımlayıcı bir bölgedir. Ad alanları daha sonra kodu mantıksal gruplar halinde düzenlemek ve ad çarpışmalarını önlemek için kullanılabilir. Kod tabanı, birden çok kitaplık içerdiğinde bu özellikle yararlıdır; bu, ideal olarak kodu çarpışmalara eğilimli hale getirir.

İki dil aynı zamanda adres hafızası, giriş-çıkış ve GUI programlama şeklinde de farklılık gösterir. Örneğin, C bellek ayırmak ve ayırmak için calloc (), malloc () ve free () işlevlerini kullanır, C ++ ise yeni ve sil komutlarını kullanır. C, giriş ve çıkış için scanf () ve printf () öğesini kullanırken C ++ cin >> ve cout << operatörlerini kullanır. C, GUI programlama için GTK aracını, C ++ ise GUI programlama için Qt araçlarını destekler. Diğer bir fark, C'nin tüm değişkenleri programın başındaki açıklamasını gerektirmesidir, oysa C ++ 'da değişkenler programın herhangi bir yerinde bildirilebilir.

Ek olarak, C ++ 'ın öğrenmesi daha kolay olduğu düşünülür, çünkü C' den daha kullanıcı dostu olduğundan, C ++ 'ın özellikle C çerçevesine yeni başlayan biri için kodlamayı kolaylaştıran sayısız ek işlevi vardır. Bununla birlikte, birçok kişi bunun gerçekten önemli olduğunu iddia ediyor. İki dil o kadar farklıdır ki aslında birbirinden bağımsız iki farklı dil olabilir. Akılda tutulması gereken bir şey, C'nin C ++ 'dan çok daha yapılandırılmış olduğu ve C ++' nın C 'den daha anlamlı ve soyut olacak şekilde tasarlandığı.

C ve C ++ arasındaki karşılaştırma:

C

C ++

Kurulmuş

1969-1973 arasında AT&T Bell Laboratuarlarında Dennis Ritchie tarafından geliştirildi.

Bjarne Stroustrup tarafından 1979'da başlayan Bell Laboratuarlarında geliştirildi.

Kaynak kodu

Serbest biçimli program kaynak kodu

Başlangıçta C programlama dilinden geliştirilmiştir

Dil

Prosedür Odaklı dil

Hem prosedürel hem de nesne yönelimli programlama paradigmalarını destekler; bu nedenle genellikle hibrit dil olarak adlandırılır.

yaklaşım

Yukarıdan aşağıya yaklaşımı takip eder.

Aşağıdan yukarıya yaklaşımı takip eder.

ilişki

C, bir C ++ alt kümesidir. C ++ kodunu çalıştıramaz.

C ++, C'nin üstüdür. C ++, C kodunun çoğunu çalıştıramazken, C kodunun çoğunu çalıştırabilir.

sürücü

İşlev odaklı dil

Nesneye dayalı dil

odak

Veri yerine yöntem ya da işleme odaklanır.

Metod veya prosedür yerine verilere odaklanır.

Yapı taşları

Fonksiyonlar

Nesneler

Anahtar kelimeler

32 Anahtar Kelime İçeriyor

52 Anahtar Kelime İçeriyor

OOPS Kavramları

'C' dili işleme yönelik bir dil olduğundan, sınıf, nesne, Kalıtım, Polimorfizm, Veri gizleme, vb. OOPS kavramlarını desteklemez.

Nesne yönelimli bir dil olan C ++; sınıfı, nesneyi, veri gizlemeyi, polimorfizmi, Kalıtım, soyutlamayı vb. Destekler.

Fonksiyonlar

  • Fonksiyonu ve operatörün aşırı yüklenmesini desteklemez.
  • Yapılar içinde işlevler kullanılamaz
  • Sanal fonksiyonları ve referans değişkenleri desteklemiyor
  • İstisna işlemeyi desteklemiyor
  • referans değişkenlerini desteklemiyor
  • ad alanı özelliği yok
  • main () İşlevini diğer İşlevler aracılığıyla çağırabilir
  • Fonksiyonu ve operatörün aşırı yüklenmesini destekler.
  • Yapıların içindeki işlevleri kullanabilir
  • Sanal fonksiyonları ve referans değişkenleri destekler.
  • Dene ve yakala bloğunu kullanarak özel durum işlemeyi destekler. Özel durumlar, kodu yanlış yapan "zor" hatalar için kullanılır.
  • referans değişkenlerini destekler
  • isim çarpışmalarını önleyen NAMESPACE özelliğini kullanır.
  • main () işlevini diğer işlevler aracılığıyla çağıramazsınız.

Hafıza fonksiyonları

Belleği ayırmak ve ayırmak için calloc (), malloc () ve free () işlevlerini kullanır.

Operatörleri yeni kullanır ve aynı amaç için siler.

kapsülleme

Desteklemiyor. Veri ve fonksiyonlar ayrı ve serbest varlıklardır.

Kapsülleme destekler. Veri ve işlevler, bir nesne biçiminde bir araya toplanır. Nesneler sınıfı, nesnenin yapısının bir planını sunar.

Bilgi gizleme

C bilgi gizlemeyi desteklemiyor. Burada, veriler serbest varlıklardır ve dış kodla değiştirilebilir.

Kapsülleme, veri yapılarının ve operatörlerin amaçlandığı şekilde kullanılmasını sağlamak için verileri gizler.

Veri

Yerleşik ve ilkel veri türlerini destekler.

Nesne yönelimli olmadığından veriler güvende değil

Hem yerleşik hem de kullanıcı tanımlı veri türlerini destekler.

Veriler C ++ ile güvende (gizli)

seviye

Düşük seviyeli dil

Orta seviye dil

Giriş çıkış

'C' dili giriş ve çıkış için scanf () ve printf () işlevini kullanır.

'C ++' dili giriş ve çıkış için cin >> ve cout << operatörlerini kullanır.

Değişkenlerin Beyanı

C, tüm değişkenleri programın başında bildirmeyi gerektirir.

C ++ 'da değişkenler kullanımdan önce programın herhangi bir yerinde bildirilebilir.

Çoklu Beyan

Küresel değişkenlerin Çoklu Beyanına izin verilir.

Global değişkenlerin Çoklu Beyanına izin verilmez.

haritalama

Veri ve İşlev arasındaki eşleme zor ve karmaşıktır.

Veri ve İşlev arasındaki Eşleme "Nesneler" kullanılarak kullanılabilir

GUI programlama

C GUI programlama için GTK aracını destekler

C ++ GUI programlama için Qt araçlarını destekler

miras

Kalıtım C de mümkün değildir

Kalıtım C ++ ile mümkündür

Dosya uzantısı

.C dosya uzantisi var

.Cpp dosya uzantisi var

Varsayılan başlık dosyası

C dilinde kullanılan varsayılan başlık dosyası stdio.h

C ++ 'da kullanılan varsayılan başlık dosyası iosteam.h'dir.

C ve C ++ Arasındaki Bazı Farklılık Örnekleri:

Örnekler

C

C ++

Değişken bildirim

Sadece en üstte:

int i;

(i = 10; i <10; i ++)

Programın herhangi bir yerinde:

(int i = 10; i <10; i ++)

Bellek ayırma

Malloc:

int * x = malloc (sizeof (int));

int * x_array = malloc (sizeof (int) * 10);

Yeni:

int * x = yeni int;

int * x_array = yeni int [10];

Belleği Serbest Bırakmak

Ücretsiz:

serbest (x);

serbest (x_array);

Sil:

x silmek;

[] x_array silmek;

Tavsiye

İlgili Makaleler

  • popüler karşılaştırmalar: Diyet kola ve sıfır kola arasındaki fark

    Diyet kola ve sıfır kola arasındaki fark

    Anahtar fark: Diyet kola ve kola sıfır, aslında onlara farklı lezzet profilleri veren bileşenlerin oranlarında farklılık gösterir. Ayrıca, Diet Coke 100ml'de 1 kaloriye sahipken, Coke Zero 100ml'de 0.5 kaloriye sahiptir. Diyet kola ve kola sıfır, The Coca-Cola Company'nin hem ürünleridir. Her iki ürün
  • popüler karşılaştırmalar: Son Dakika Haberleri ile Flash Haber Arasındaki Fark

    Son Dakika Haberleri ile Flash Haber Arasındaki Fark

    Önemli Fark: Son dakika haberi, önemi nedeniyle mevcut programı kesintiye uğrattığı ve olayın ayrıntılarının bildirildiği önemli bir güncel olayı ifade ederken, hızlı haberler, mevcut programı yarıda kesen önemli bir güncel olayın küçük bir parçası olarak bildirilir. Kanalları izleyen gemiyi artırmak için her yayıncı, önemli olayları gösteren ilk kişi olmak ister. Haber kanalları, en son bilgileri m
  • popüler karşılaştırmalar: LLC ve INC arasındaki fark

    LLC ve INC arasındaki fark

    Önemli fark: Bir LLC veya limited şirket, sahiplerine sınırlı sorumluluk sağlayan yasal bir şirket şeklidir. INC veya Incorporated, tüzel kişiliği sahiplerinden ayrı olan yeni bir işletme oluşturmaktır. Herhangi bir ülkede, eyalette veya şehirde iş yapmak için, şirketin kendisini tüzel kişilik olarak tesis etmek için söz konusu eyalet ve ülke hükümetine kaydolması gerekir. Bir şirketin, anonim şirke
  • popüler karşılaştırmalar: Kivi ve Avustralya Accent arasındaki fark

    Kivi ve Avustralya Accent arasındaki fark

    Önemli Fark: İngilizce konuşulan ilk Yeni Zelandalı yerleşimciler, Port Jackson (Sidney) ceza kolonisinden Avustralyalı fok avcılarıydı. Avustralya İngilizcesi, İngiliz ve Amerikan İngilizcesi karışımıdır. Bu vurgu genellikle Güney Avustralya, Victoria ve Batı Avustralya'da duyulur. Aksan dilbilimde
  • popüler karşılaştırmalar: Varchar ve Varchar2 arasındaki fark

    Varchar ve Varchar2 arasındaki fark

    Temel Fark: Varchar ve Varchar2, Oracle'da iki veri türüdür. Varchar değişken uzunluklu karakter dizgisini gösterir. Dizeleri depolamak için kullanılırlar. Varchar2, üst sınır 4000 bayt olan değişken uzunluklu bir karakter dizesini saklayabilir. Varchar, Varchar2 ile aynıdır. Ancak, gelecekte yeniden tanımlanması planlanmıştır ve bu nedenle mevcut senaryoda Varchar veri türünün kullanılması önerilmez. Varchar2 değişken uzunluk
  • popüler karşılaştırmalar: Şiir ve Kafiye Arasındaki Fark

    Şiir ve Kafiye Arasındaki Fark

    Anahtar Fark: Şiir, çeşitli duyguları veya fikirleri ifade etmek için kullanılan nesir veya ayet biçiminde kelimelerin bir bileşimi olarak tanımlanırken, kafiye, alternatif seslerin sık sık alternatif satırların sonunda tekrarlanmasına benzer bir şiir olarak tanımlanabilir. Şiir, çeşitli duyguları veya fikirleri ifade etmek için kullanılan nesir ya da ayet biçimindeki kelimelerin bir bileşimi olarak tanımlanırken, kafiyen, genellikle alternatif çizgilerin sonunda, benzer seslerin tekrarı ile tekrarlanan bir şiir olarak tanımlanabilir. Şiirdeki kafiye, İngilizce
  • popüler karşılaştırmalar: Samsung Galaxy Win ve Nexus 4 arasındaki fark

    Samsung Galaxy Win ve Nexus 4 arasındaki fark

    Önemli fark: Samsung Galaxy Win, Samsung Corporation'ın bir başka telefonu. Samsung Galaxy Win'in iki modeli var: Single-SIM ve Dual-SIM. Samsung Galaxy Win ayrıca belirli pazarlarda Samsung Galaxy Grand Quattro olarak da satılıyor. Telefon, bütçe segmentine yönelik dört çekirdekli bir akıllı telefon. Samsung Gal
  • popüler karşılaştırmalar: LG Optimus L5 II, L5 II Dual ve Karbonn Titanium S5 arasındaki fark

    LG Optimus L5 II, L5 II Dual ve Karbonn Titanium S5 arasındaki fark

    Temel Fark: LG Optimus L5 II ve onun karşı kısmı LG Optimus L5 II Dual, şirket tarafından iki giriş seviyesi akıllı telefon. LG Optimus L5 II ve L5 II Dual birbirlerine oldukça benziyor ancak görünüm dahil belli yerlerde farklılık gösteriyor. Cihaz, 233 ppi piksel yoğunluğu sunan 4 inçlik bir True IPS LCD kapasitif dokunmatik ekrana sahip. Karbonn Titanium
  • popüler karşılaştırmalar: Ayçiçek Yağı ve Hurma Yağı Arasındaki Fark

    Ayçiçek Yağı ve Hurma Yağı Arasındaki Fark

    Anahtar fark: Ayçiçeği ve Palmiye yağları, kendi kaynaklarından elde edilen yenilebilir bitkisel yağlardır; örneğin, ezilmiş ayçiçeği tohumlarından elde edilen Ayçiçeği yağı; Hurma yağı, hurma yağından elde edilir. Yaşamdaki en önemli bileşen olan gıdalar yağsızdır. Ayçiçeği ve hurma yağları, doğada meydana gelen çeşitli yemeklik yağlardan biridir. Bunlar, gıdalarda tercih edildiğine gö

Editörün Seçimi

Microsoft Surface RT ve Nexus 7 arasındaki fark

Temel Fark: Microsoft Surface RT, yaklaşık 148 ppi yoğunluğa sahip 10.6 inç TFT HD kapasitif dokunmatik ekrana sahip bir tablettir. Ekran gerçek 16: 9 en boy oranını verir. Ancak, işletim sistemi eski Windows PC programlarıyla uyumlu değildir. Nexus 7, Android 4.1 (Jelly Bean olarak da adlandırılan) işletim sistemini çalıştıran bir tablet bilgisayardır. Asus ile birlikte