İ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

  • arasındaki fark: Haklar ve Görevler Arasındaki Fark

    Haklar ve Görevler Arasındaki Fark

    Anahtar fark: Haklar, bir yönetim kurumu tarafından insanların sahip olduğu hakların yasal, sosyal veya etik prensipleridir; oysa, görevler, bir kişi tarafından, söz konusu kişi tarafından yapılması zorunlu olan bir bireyin sorumlulukları veya yükümlülükleridir. Haklar ve görevler aynı madalyonun iki yüzüdür. Biri diğeri olmadan o
  • arasındaki fark: SIM ve Micro SIM arasındaki fark

    SIM ve Micro SIM arasındaki fark

    Temel Fark: SIM (standart) ve Micro SIM, işlevsellik açısından aynıdır. İkisi arasındaki tek fark, büyüklükleriyle ilgilidir. Mikro SIM, standart SIM'den neredeyse yüzde 52 daha küçüktür. SIM, abone kimlik modülü veya abone kimlik modülü anlamına gelir. Bu kart, ağ ve telefon numaraları hakkındaki bilgileri cep telefonlarında saklar. Bir mobil ağa bağlantı
  • arasındaki fark: Kazak ve Ceket Arasındaki Fark

    Kazak ve Ceket Arasındaki Fark

    Önemli fark: Hem tişörtü hem de ceket dış giyim türüdür. Bir kazak, başa giyilebilecek kalın bir pamuklu jarse malzemesinden yapılmış bir kazak türüdür. Bir ceket, düğmeler, kancalar veya fermuarlar kullanılarak kapatılabilen açık bir ön ile karakterize edilir. Hava biraz soğuk olduğunda, insanlar biraz ılık kalabilmeleri için giymek için bir dış giysi alabilirler, ancak ne kaparlar? Bazıları bir kazak bulabilirke
  • arasındaki fark: LED ve CFL Işık arasındaki fark

    LED ve CFL Işık arasındaki fark

    Anahtar Fark: LED veya Işık yayan Diyot ışığı, katı hal elektroniği mekanizması uygulanarak yarı iletken kullanılarak oluşturulan ışığı ifade eder. Öte yandan, CFL veya Kompakt Floresan Lambalardan gelen ışık bir gaz ve az miktarda cıva buharı kullanılarak üretilir. Heyecan verici buhar, flüoresan kaplama ile temas ettikten sonra görünür ışık emisyonuna neden olur. CFL'ler LED'lerden daha
  • arasındaki fark: Fatura ve Çek Arasındaki Fark

    Fatura ve Çek Arasındaki Fark

    Temel Fark: Öncelikle Amerikan İngilizcesinde kullanılır, faturalandırma ve çek çok yaygın olarak kullanılır ve aynı zamanda ilişkilidir. Fatura, nereden aldığınızı ve ödeme istediğinizi belirten bir faturadır. Öte yandan çek, faturayı ödemek için gereken bir ödeme şeklidir. ABD gibi bir ülke durumun
  • arasındaki fark: Kilo Vermek için Yürüme ve Koşma Arasındaki Fark

    Kilo Vermek için Yürüme ve Koşma Arasındaki Fark

    Önemli Fark: Yürümek ve koşmak kilo vermenin iki farklı yöntemidir. Eğer biri daha hızlı kilo vermek istiyorsa, koşmak yürümekten daha iyi bir seçenektir. Egzersiz sadece kilo vermek için değil, aynı zamanda daha sağlıklı bir yaşam tarzı sürdürmek için de iyidir. Kilo kaybına ek olarak, egzersiz aynı zamanda ruh halinizi iyileştirebilir, enerji seviyesini artırabilir, vb. Egzersiz yapmak formda ve
  • arasındaki fark: Yatırım Fonu ile ULIP Arasındaki Fark

    Yatırım Fonu ile ULIP Arasındaki Fark

    Temel Fark: Yatırım fonu, çeşitli yatırımcılardan para toplayan ve bu tutarı borsadaki farklı şirketlere tahsis eden bir yatırım planıdır. ULIP veya Birim Bağlantılı Sigorta Planı, müşterilerine iki büyük fayda sağlayan bir plandır. Hem bir sigorta planı hem de bir yatırım planı olarak çalışır. Yatırım fonları ve ULIP'le
  • arasındaki fark: Samsung Galaxy Mega 5.8 ve iPad Mini arasındaki fark

    Samsung Galaxy Mega 5.8 ve iPad Mini arasındaki fark

    Önemli fark: Samsung, Samsung Galaxy Mega 5.8 ve Samsung Galaxy Mega 6.3 ürününü tanıtarak, 'kategoride tekliflerini genişletti. Samsung Galaxy Mega 5.8, 5, 8 x 960 piksel çözünürlüğe sahip 5, 8 inç TFT kapasitif dokunmatik ekranından dolayı ismini aldı. Telefon, 1, 5 GB RAM'e sahip bir Çift çekirdekli 1.4 GHz işlemci tara
  • arasındaki fark: TIFF ve JPG arasındaki fark

    TIFF ve JPG arasındaki fark

    Anahtar fark: Hem TIFF hem de JPG, görüntüleri depolamak için dosya formatıdır. TIFF, Tagged Image File Format'ın kısaltmasıdır. JPG, aslen JPEG, Ortak Fotoğraf Uzmanlığı Grubu anlamına gelir. TIFF, görüntü dosyasını neredeyse hiç sıkıştırma olmadan depolar. Bu nedenle, genellikle düzenlenmesi ve yeniden kaydedilmesi gereken görüntüleri depolamak için kullanılır. JPEG, fotoğraflar için en yayg

Editörün Seçimi

İnternet ve İntranet Arasındaki Fark

Anahtar fark: İnternet, dünyadaki bilgisayar ağlarını birbirine bağlayan devasa küresel sistemdir. Dünya çapında milyonlarca özel, halka açık, akademik, iş dünyası ve devlet ağı, büyük miktarda bilgi, kaynak ve hizmetleri paylaşmak için İnternet üzerinden birbirleriyle bağlantıya geçmektedir. İntranet, diğer taraftan,