İ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: İçbükey ve Dışbükey Çokgenler Arasındaki Fark

    İçbükey ve Dışbükey Çokgenler Arasındaki Fark

    Anahtar Fark: Tüm iç açıları 180 dereceden az olan bir çokgen dışbükey çokgen olarak bilinir. Öte yandan, 180 dereceden daha büyük bir veya daha fazla iç açıya sahip bir çokgen içbükey çokgen olarak adlandırılır. Bir çokgen, üç veya daha fazla çizgi bölümünden oluşan kapalı bir düzlem şekil (iki boyutlu bir şekil) olarak tanımlanabilir. Çokgenler birçok türe ayrılabilir.
  • popüler karşılaştırmalar: Teklif Mektubu ile Onay Mektubu Arasındaki Fark

    Teklif Mektubu ile Onay Mektubu Arasındaki Fark

    Önemli Fark: Bir teklif mektubu ve bir onay mektubu, her ikisi de işe alım sürecinde önemli belgelerdir. Adayın şirket için uygun olduğu tespit edilirse, aday için bir teklif mektubu verilir. Şirketin sunduğu pozisyon ve maaş gibi detaylardan bahseder. Diğer taraftan, denetlemesini başarıyla tamamlayan çalışana bir onay mektubu verilir ve şirket onu daimi bir çalışan olarak işe alır. İşe alımlar bir dizi ad
  • popüler karşılaştırmalar: Dışbükey ve içbükey eğrileri arasındaki fark

    Dışbükey ve içbükey eğrileri arasındaki fark

    Anahtar Fark: Bir içbükey eğri içe yuvarlanır, oysa bir dışbükey eğri bir kürenin dış kısmı gibi yuvarlanır. Bir eğri düz bir çizgiden çok farklıdır. Bir eğrinin değişen bir eğimi vardır. Bir grafik veya harita üzerinde herhangi iki noktayı birleştirmek için kıpır kıpır kıpır kıpır kıpır kıpır kıvrılan bir çizgidir. Eğriler dışbükey ve içbükey eğrilerin kateg
  • popüler karşılaştırmalar: HB ve 2B Kurşun Kalem Arasındaki Fark

    HB ve 2B Kurşun Kalem Arasındaki Fark

    Anahtar fark : HB ve 2B kalem arasındaki ana fark, HB kaleminin orta menzilli bir kurşun olmasına karşın, 2B kalemin daha yumuşak bir lead'i olmasıdır. Bir Kalem, çizim yapmak için yazmanın yanı sıra kullanılan popüler bir araçtır. Sayım sırasında koyunların işaretlenmesi için grafit çubuklarının kullanıldığı ve İngiltere'de 1970 yılında ahşap kaplamalı çubuklar yani kalemlerin kullanıldığı İngiltere, 1565 yılında keşfedilmiştir. Kalemler, içinde grafit çekirdekli ahşaptan
  • popüler karşılaştırmalar: LAN ve MAN arasındaki fark

    LAN ve MAN arasındaki fark

    Anahtar Fark: LAN Yerel Alan Ağı anlamına gelir. Bir ofis binası veya okul gibi küçük bir alandaki bilgisayarları birbirine bağlayan bir bilgisayar ağıdır. Öte yandan, MAN Metropolitan Area Network'ün kısaltmasıdır. Bir şehir içindeki veya büyük bir kampus içindeki bilgisayarı birbirine bağlayan bir bilgisayar ağıdır. MAN, LAN'ın bir çıkış
  • popüler karşılaştırmalar: Normal ve Düzensiz Fiiller Arasındaki Fark

    Normal ve Düzensiz Fiiller Arasındaki Fark

    Anahtar fark : İki fiil türü arasındaki fark, farklı zamanları için sahip oldukları farklı sonlardır, burada düzenli fiiller her zaman önceki katılımcı bitişleri için '-ed' ile biter ve düzensiz fiiller birçok farklı şekilde sonlanır veya kalır. aynı şey onların eski sonları için de geçerli. Dilbilgisinde fiiller cümle
  • popüler karşılaştırmalar: Her biri arasındaki fark

    Her biri arasındaki fark

    Anahtar fark: 'Her' ve 'Her', miktarı ifade etmek için kullanılan belirleyicilerdir. 'Her' terimi yalnızca bir şeyi belirtmek için kullanılır; oysa, 'her' terimi grup içindeki tüm bileşenleri belirtmek için kullanılır. 'Her' bir cümlede sayılabilir isimlerle birlikte kullanılır. Belirli 'bir
  • popüler karşılaştırmalar: Elektronikte Chip ve Gofret Arasındaki Fark

    Elektronikte Chip ve Gofret Arasındaki Fark

    Temel Fark: Bir yonga ayrıca bir Entegre Devre olarak da bilinir, tek bir ünitede üretilen elektronik bileşenlerin bir montajıdır, oysa gofret, entegre devreler gibi entegre devrelerin oluşumunda kullanılan ince silikon dilimlerini belirtir bu gofretlerde gömülü. Entegre bir devre bir yonga olarak bilinir, belirli bir görevi yerine getirmek için birlikte çalışan ya da bir dizi görevde olabilen, devreler, yollar ve transistörler vb. Paketi olan küçü
  • popüler karşılaştırmalar: Reklam ve Pazarlama Arasındaki Fark

    Reklam ve Pazarlama Arasındaki Fark

    Anahtar fark: Reklam, pazarlamanın aksine, ürünün veya hizmetin geliştirilmesi, markalaştırılması, tasarlanması, pazara sunulması süreci olan pazarlamanın aksine, ürün veya hizmetlerin satılması ile ilgilidir. Pek çok kişi pazarlama ve reklamcılığın eş anlamlı olduğunu düşünüyor; Ancak, iki farklı kavramlardır. Onları ayırt etmenin bir yolu,

Editörün Seçimi

Kör ve Görme Engelliler Arasındaki Fark

Anahtar Fark: Görme engelliler, kişinin gözlük veya kontaklar gibi olağan yollarla tamir edilemeyecek mükemmel veya neredeyse mükemmel bir görüşünün olmadığı bir durumu ifade eden bir örtü terimdir. Körlük terimi, kişinin hiçbir şey göremediği, yani tam veya neredeyse tamamen görme kaybı olduğu bir durumu tanımlar. Körlük teknik olarak görme