Perbedaan antara C dan C ++ dengan Contoh | Bahasa pemrograman

Perbedaan utama: C dan C ++ adalah dua bahasa pemrograman komputer yang berbeda. C ++ dikembangkan dari bahasa pemrograman C; Namun mereka sangat berbeda sifatnya. Perbedaan yang paling jelas adalah bahwa C adalah bahasa berorientasi prosedur, sedangkan C ++ mendukung pemrograman prosedural dan berorientasi objek, oleh karena itu sering disebut bahasa hibrida.

C dan C ++ adalah dua bahasa pemrograman komputer yang berbeda. C pada awalnya dikembangkan oleh Dennis Ritchie di AT&T Bell Labs antara tahun 1969 dan 1973. C ++ adalah bahasa pemrograman tujuan umum lainnya. Ini dikembangkan dari bahasa pemrograman C asli. Ini dikembangkan oleh Bjarne Stroustrup di Bell Labs mulai tahun 1979. C ++ awalnya bernama C dengan Kelas, karena telah didasarkan pada C. Itu berganti nama menjadi C ++ pada tahun 1983.

C adalah salah satu bahasa pemrograman tertua yang saat ini digunakan dan merupakan salah satu bahasa pemrograman yang paling banyak digunakan. Ini telah terus-menerus digunakan dalam aplikasi yang sebelumnya dikodekan dalam bahasa assembly. Ini termasuk sistem operasi komputer UNIX. C juga secara langsung atau tidak langsung memengaruhi banyak bahasa pemrograman selanjutnya, seperti C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python, dan shell Unix's C. Terlepas dari semua bahasa baru ini, C masih tetap menjadi bahasa pemrograman yang populer.

C ++ awalnya dimulai sebagai peningkatan ke C. Ini dirancang untuk menjadi sumber-dan-tautan yang kompatibel dengan C. Namun, ia menambahkan kelas, fungsi virtual, kelebihan operator, banyak pewarisan, templat, penanganan pengecualian, dll. Akhirnya, itu dikembangkan cukup untuk dianggap sebagai bahasa pemrograman sendiri. Awalnya disahkan pada tahun 1998 sebagai bahasa pemrograman bersertifikat ISO / IEC 14882: 1998. Saat ini, C ++ sekarang umum digunakan untuk desain perangkat keras.

C adalah bahasa pemrograman tujuan umum yang menggunakan titik koma (;) sebagai terminator pernyataan, serta kurung kurawal ({}) untuk mengelompokkan blok pernyataan. Ini memiliki fasilitas untuk pemrograman terstruktur dan desainnya menyediakan konstruksi yang dapat memetakan secara efisien untuk instruksi mesin yang khas. Ini juga memungkinkan ruang lingkup variabel leksikal dan rekursi dan memiliki sistem tipe statis, yang mencegah banyak operasi yang tidak diinginkan.

Namun, dibandingkan dengan C ++, C memiliki banyak keterbatasan. Karena C tidak berorientasi objek, itu tidak mendukung konsep OOPS. C tidak mendukung fungsi dan kelebihan operator. Itu tidak dapat menggunakan fungsi di dalam struktur. Itu tidak mendukung fungsi virtual dan variabel referensi, atau penanganan pengecualian. Itu juga tidak mendukung variabel referensi. Selain itu, C juga tidak enkapsulasi atau pengamanan data. Sebagai perbandingan, C ++ mendukung semua fitur ini.

Lebih lanjut, C tidak mendukung fitur NAMESPACE, sedangkan C ++ tidak. Namespace adalah wilayah definitif yang memungkinkan seseorang untuk mengelompokkan pengidentifikasi (nama tipe, fungsi, variabel, dll). Namespace kemudian dapat digunakan untuk mengatur kode menjadi grup logis dan untuk mencegah tabrakan nama. Ini sangat membantu ketika basis kode menyertakan banyak pustaka, yang idealnya membuat kode rentan terhadap benturan nama.

Kedua bahasa juga berbeda dalam cara fungsi memori alamat, input-output, dan pemrograman GUI. Misalnya, C menggunakan fungsi calloc (), malloc () dan free () untuk mengalokasikan dan menghapus alokasi memori, sementara C ++ menggunakan yang baru dan menghapus. C menggunakan scanf () dan printf () untuk input dan output, sedangkan C ++ menggunakan cin >> dan cout << operator. C mendukung alat GTK untuk pemrograman GUI, sedangkan C ++ mendukung alat Qt untuk pemrograman GUI. Perbedaan lainnya adalah bahwa C mengharuskan seseorang untuk mendeklarasikan semua variabel di bagian atas program, sedangkan di C ++, variabel dapat dideklarasikan di mana saja dalam program.

Selain itu, C ++ biasanya dianggap lebih mudah dipelajari, karena lebih ramah pengguna daripada C. C ++ juga memiliki banyak fungsi tambahan yang membuat pengkodean lebih mudah, terutama bagi seseorang yang baru menggunakan kerangka C. Namun, banyak yang mengklaim bahwa itu sebenarnya penting. Kedua bahasa itu sangat berbeda, sehingga mereka sebenarnya bisa menjadi dua bahasa yang berbeda satu sama lain. Satu hal yang perlu diingat adalah bahwa C jauh lebih terstruktur daripada C ++, sedangkan C ++ dirancang untuk lebih ekspresif dan abstrak daripada C.

Perbandingan antara C dan C ++:

C

C ++

Didirikan

Dikembangkan oleh Dennis Ritchie di AT&T Bell Labs antara 1969 dan 1973.

Dikembangkan oleh Bjarne Stroustrup di Bell Labs mulai tahun 1979.

Kode sumber

Kode sumber program format bebas

Awalnya dikembangkan dari bahasa pemrograman C

Bahasa

Bahasa yang berorientasi prosedur

Mendukung paradigma pemrograman prosedural dan berorientasi objek; oleh karena itu sering disebut bahasa hibrida.

Pendekatan

Mengikuti pendekatan top-down.

Mengikuti pendekatan dari bawah ke atas.

Hubungan

C adalah himpunan bagian dari C ++. Itu tidak dapat menjalankan kode C ++.

C ++ adalah superset dari C. C ++ dapat menjalankan sebagian besar kode C sementara C tidak dapat menjalankan kode C ++.

Mendorong

Bahasa yang digerakkan oleh fungsi

Bahasa berbasis objek

Fokus

Berfokus pada metode atau proses daripada data.

Berfokus pada data daripada metode atau prosedur.

Blok bangunan

Fungsi

Benda

Kata kunci

Berisi 32 Kata Kunci

Berisi 52 Kata Kunci

Konsep OOPS

Karena bahasa 'C' adalah bahasa yang berorientasi pada prosedur, bahasa ini tidak mendukung konsep OOPS seperti kelas, objek, Warisan, Polimorfisme, Penyembunyian data, dll.

Sebagai bahasa berorientasi objek, C ++ mendukung kelas, objek, penyembunyian data, polimorfisme, Warisan, abstraksi, dll.

Fungsi

  • Tidak mendukung fungsi dan kelebihan operator.
  • Tidak dapat menggunakan fungsi di dalam struktur
  • Tidak mendukung fungsi virtual dan variabel referensi
  • Tidak mendukung penanganan pengecualian
  • tidak mendukung variabel referensi
  • tidak memiliki fitur namespace
  • dapat memanggil fungsi utama () melalui Fungsi lainnya
  • Mendukung fungsi dan kelebihan operator.
  • Dapat menggunakan fungsi di dalam struktur
  • Mendukung fungsi virtual & variabel referensi.
  • Mendukung penanganan pengecualian menggunakan blok coba dan tangkap. Pengecualian digunakan untuk kesalahan "sulit" yang membuat kode salah.
  • mendukung variabel referensi
  • menggunakan fitur NAMESPACE yang menghindari tabrakan nama.
  • tidak dapat memanggil fungsi utama () melalui fungsi-fungsi lain.

Fungsi memori

Menggunakan fungsi calloc (), malloc () dan free () untuk mengalokasikan dan menghapus alokasi memori.

Menggunakan operator baru dan menghapus untuk tujuan yang sama.

Enkapsulasi

Tidak mendukung. Data dan fungsi adalah entitas yang terpisah dan bebas.

Mendukung enkapsulasi. Data dan fungsi dirangkum bersama dalam bentuk objek. Kelas objek menyediakan cetak biru dari struktur objek.

Menyembunyikan informasi

C tidak mendukung penyembunyian informasi. Di sini, data adalah entitas bebas dan dapat dimanipulasi dengan kode luar.

Enkapsulasi menyembunyikan data untuk memastikan bahwa struktur data dan operator digunakan sebagaimana dimaksud.

Data

Mendukung tipe data bawaan dan primitif.

Data tidak diamankan karena tidak berorientasi objek

Mendukung tipe data bawaan dan pengguna.

Data diamankan (disembunyikan) di C ++

Tingkat

Bahasa tingkat rendah

Bahasa tingkat menengah

Input output

Bahasa 'C' menggunakan scanf () dan printf () untuk input dan output.

Bahasa 'C ++' menggunakan cin >> dan cout << operator untuk input dan output.

Deklarasi Variabel

C mengharuskan seseorang untuk mendeklarasikan semua variabel di bagian atas program.

Dalam C ++, variabel dapat dideklarasikan di mana saja dalam program sebelum digunakan.

Deklarasi Berganda

Deklarasi Berganda variabel global diizinkan.

Deklarasi Berganda variabel global tidak diperbolehkan.

Pemetaan

Pemetaan antara Data dan Fungsi sulit dan rumit.

Pemetaan antara Data dan Fungsi dapat digunakan menggunakan "Objek"

Pemrograman GUI

C mendukung alat GTK untuk pemrograman GUI

C ++ mendukung alat Qt untuk pemrograman GUI

Warisan

Warisan tidak dimungkinkan dalam C

Warisan dimungkinkan dalam C ++

Ekstensi file

Memiliki ekstensi file .c

Memiliki ekstensi file .cpp

File header default

File header default yang digunakan dalam bahasa C adalah stdio.h

File header default yang digunakan dalam C ++ adalah iosteam.h

Beberapa Contoh Perbedaan antara C dan C ++:

Contohnya

C

C ++

Deklarasi variabel

Hanya di atas:

int i;

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

Di mana saja dalam program ini:

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

Alokasi memori

Malloc:

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

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

Baru:

int * x = int baru;

int * x_array = new int [10];

Melepaskan Memori

Bebas:

gratis (x);

gratis (x_array);

Menghapus:

hapus x;

hapus [] x_array;

Direkomendasikan

Artikel Yang Berhubungan

  • perbedaan antara: Perbedaan antara Wiski dan Gin

    Perbedaan antara Wiski dan Gin

    Perbedaan Utama: Wiski atau wiski adalah jenis minuman beralkohol suling yang dibuat dari segala bentuk tumbuk biji fermentasi. Tergantung pada wilayah geografis atau jenis wiski yang sedang dibuat, wiski dapat dibuat dari gandum, gandum malt, gandum hitam, gandum gandum hitam, gandum, dan jagung. Mereka sering berusia dalam tong hangus
  • perbedaan antara: Perbedaan antara HTC Windows 8X dan Sony Xperia SP

    Perbedaan antara HTC Windows 8X dan Sony Xperia SP

    Perbedaan Utama: HTC Windows 8X menampilkan layar sentuh kapasitif S-LCD2 4, 3 inci yang memberikan kerapatan piksel 342ppi. Layar dilindungi menggunakan gorilla glass 2, yang membuatnya cukup tahan lama dan kurang rentan terhadap goresan. Ponsel ini cukup apik dan ramping, beratnya hanya 130 gram dengan baterai
  • perbedaan antara: Perbedaan antara Dolar dan Pound

    Perbedaan antara Dolar dan Pound

    Perbedaan Utama: Dolar adalah mata uang yang digunakan di banyak negara barat dan diwakili oleh tanda '$'. Dolar adalah mata uang umum negara-negara seperti Australia, Belize, Kanada, Hong Kong, Namibia, Selandia Baru, Singapura, Taiwan, Zimbabwe, Brunei, dan Amerika Serikat. Pound adalah satuan mata uang yang digunakan oleh banyak negara sentral seperti Inggris Raya, Mesir, Libanon, Sudan, dan Suriah
  • perbedaan antara: Perbedaan antara Angsa, Bebek dan Angsa

    Perbedaan antara Angsa, Bebek dan Angsa

    Perbedaan utama: Angsa, Bebek dan Angsa adalah tiga jenis burung yang berbeda yang sebenarnya merupakan kerabat dekat. Mereka semua milik keluarga burung Anatidae. Keluarga burung Anatidae terletak di seluruh dunia, kecuali Antartika. Ada banyak perbedaan di antara ketiganya. Angsa, Bebek dan Angsa adalah tiga jenis burung yang berbeda yang sebenarnya merupakan kerabat dekat
  • perbedaan antara: Perbedaan antara Android 2.3 dan Android 4.0

    Perbedaan antara Android 2.3 dan Android 4.0

    Perbedaan utama: Android 2.3, kode nama Gingerbread dirilis pada 6 Desember 2010 dan merupakan peningkatan dari Android v2.2 Froyo. V2.3 dirancang khusus untuk smartphone, sementara perusahaan memperkenalkan versi lengkap lainnya, dengan nama kode Honeycomb untuk tablet. Android 4.0 Ice Cream Sandwich dirilis secara publik pada 19 Oktober 2011, dengan kode sumber untuk OS menjadi publik pada 14 November 2011
  • perbedaan antara: Perbedaan antara Pengurangan, Pengurangan, dan Keringanan Pajak Penghasilan

    Perbedaan antara Pengurangan, Pengurangan, dan Keringanan Pajak Penghasilan

    Perbedaan Utama: Keringanan Pajak adalah setiap program atau insentif yang membantu mengurangi pajak dengan berbagai cara. Keringanan pajak ini bisa dalam bentuk pengurangan pajak atau kredit pajak. Pengurangan pajak pada dasarnya adalah pengurang pajak. Ini memungkinkan seseorang untuk mengurangi jumlah dari total pendapatan orang tersebut
  • perbedaan antara: Perbedaan antara iPhone 6 dan iPhone 6 Plus

    Perbedaan antara iPhone 6 dan iPhone 6 Plus

    Perbedaan Utama: Pada bulan September 2014, Apple Inc. mengumumkan dua ponsel terbaru dalam jajarannya: iPhone 6 dan iPhone 6 Plus. Tidak hanya ini ponsel terbaru, ini juga iPhone terbesar hingga saat ini. Tidak dapat disangkal bahwa Apple adalah pemimpin pasar dalam industri telepon. Ini mengontrol pangsa pasar yang signifikan di industri
  • perbedaan antara: Perbedaan antara Pajak Penjualan dan Pajak Pertambahan Nilai (PPN)

    Perbedaan antara Pajak Penjualan dan Pajak Pertambahan Nilai (PPN)

    Perbedaan Utama: Pajak Penjualan dan PPN adalah pajak konsumen, yang berarti pajak itu harus dibayar setiap kali seseorang membeli produk yang dimaksudkan untuk dikonsumsi atau digunakan. Namun, pajak penjualan adalah jenis pajak langsung, sedangkan PPN adalah pajak tidak langsung. Pajak adalah sumber pendapatan bagi setiap dan semua pemerintah
  • perbedaan antara: Perbedaan antara Kewarganegaraan dan Kebangsaan

    Perbedaan antara Kewarganegaraan dan Kebangsaan

    Perbedaan utama: Faktor pembeda utama antara kewarganegaraan dan kebangsaan adalah bahwa kewarganegaraan lebih merupakan konsep politik dan hukum, sedangkan kebangsaan lebih merupakan gagasan budaya dan etika. Kewarganegaraan dan Kebangsaan adalah dua istilah yang sering digunakan untuk mendefinisikan siapa seseorang

Pilihan Editor

Perbedaan antara Cloud Computing dan Vmware

Perbedaan Kunci: Cloud computing digunakan untuk menentukan kelas komputasi baru yang didasarkan pada teknologi jaringan. Komputasi awan terjadi melalui internet. Ini terdiri dari kumpulan perangkat keras, perangkat lunak, dan infrastruktur internet terintegrasi dan jaringan. Infrastruktur ini digunakan untuk menyediakan berbagai layanan kepada pengguna