Різниця між C і C ++ з прикладами | Мови програмування

Ключова різниця: C та C ++ - це два різних мови комп'ютерного програмування. C ++ був розроблений з мови програмування С; однак вони мають різний характер. Найбільш очевидною відмінністю є те, що C - це мова, орієнтована на процедури, тоді як C ++ підтримує як процедурне, так і об'єктно-орієнтоване програмування, тому його часто називають гібридною.

C і C ++ є двома різними мовами комп'ютерного програмування. C був спочатку розроблений Деннісом Рітчі в лабораторіях AT&T Bell між 1969 і 1973 роками. C ++ - інша мова програмування загального призначення. Він був розроблений з оригінальної мови програмування C. Він був розроблений Бьорном Страуструпом у Bell Labs, починаючи з 1979 року. C ++ спочатку називався C з Classes, оскільки він був заснований на C. Він був перейменований в C ++ у 1983 році.

C є однією з найстаріших в даний час використовуваних мов програмування і є однією з найбільш широко використовуваних мов програмування. Він постійно використовується в додатках, які раніше кодувалися на мові асемблера. Це включає в себе операційну систему комп'ютера UNIX. C також безпосередньо чи опосередковано вплинув на багато з більш пізніх мов програмування, такі як C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python і C-оболонка Unix. Незважаючи на всі ці нові мови, C все ще залишається популярною мовою програмування.

C ++ спочатку виходив як доповнення до C. Він був розроблений для сумісності з джерелом і зв'язком з C. Однак, він додав класи, віртуальні функції, перевантаження операторів, множинне успадкування, шаблони, обробка винятків і т.д. достатньо, щоб вважатися мовою програмування самостійно. Спочатку вона була ратифікована в 1998 році як сертифікована мова ISO / IEC 14882: 1998. Сьогодні C ++ зазвичай використовується для апаратного проектування.

C є мовою програмування загального призначення, яка використовує крапку з комою (;) як термінатор оператора, а також фігурні дужки ({}) для групування блоків операторів. Вона має засоби для структурованого програмування, а її конструкція надає конструкції, які можуть ефективно відображати типові машинні інструкції. Вона також дозволяє лексичну область змінної і рекурсію і має статичну систему типу, яка запобігає багато ненавмисних операцій.

Однак, у порівнянні з C ++, C має численні обмеження. Оскільки C не є об'єктно-орієнтованою, вона не підтримує концепції OOPS. C не підтримує функцію і перевантаження оператора. Він не може використовувати функції всередині структур. Він не підтримує віртуальні функції та змінні посилання або обробку виключень. Він також не підтримує змінні посилання. Крім того, C також не інкапсулює або захищає дані. Для порівняння, C ++ підтримує всі ці функції.

Крім того, C не підтримує функцію NAMESPACE, тоді як C ++ робить. Простір імен є остаточним регіоном, який дозволяє групувати ідентифікатори (назви типів, функції, змінні тощо). Простори імен потім можуть використовуватися для організації коду в логічні групи і для запобігання зіткненням імен. Це особливо корисно, коли база кодів включає в себе кілька бібліотек, що ідеально робить код схильним до зіткнень імен.

Дві мови також відрізняються за способами функцій пам'яті адреси, введення-виведення та програмування GUI. Наприклад, C використовує функції calloc (), malloc () і free () для розподілу та вилучення пам'яті, а C ++ використовує нові та видаляє. C використовує scanf () і printf () для введення і виведення, в той час як C ++ використовує cin >> і cout << оператори. C підтримує інструмент GTK для програмування графічного інтерфейсу, тоді як C ++ підтримує інструменти Qt для програмування графічного інтерфейсу. Інша відмінність полягає в тому, що C вимагає, щоб було оголошено всі змінні у верхній частині програми, тоді як в C ++ змінні можуть бути оголошені в будь-якому місці програми.

Крім того, C ++, як правило, вважається більш легким для вивчення, оскільки він є більш зручним для користувача, ніж C. C ++ також має численні додаткові функції, що полегшує кодування, особливо для тих, хто є новим у C-структурі. Однак багато хто стверджує, що це насправді має значення. Дві мови так сильно відрізняються, що вони можуть бути двома різними мовами, незалежно один від одного. Слід пам'ятати, що C набагато більш структурований, ніж C ++, тоді як C ++ був більш виразним і абстрактним, ніж C.

Порівняння між C і C ++:

C

C ++

Заснований

Розроблено Деннісом Рітчі в лабораторіях AT&T Bell між 1969 і 1973 роками.

Розроблено Бьярном Страуструпом у Bell Labs, починаючи з 1979 року.

Вихідний код

Вихідний код програми у вільному форматі

Спочатку розроблений з мови програмування C.

Мова

Процедура Орієнтована мова

Підтримує як процедурні, так і об'єктно-орієнтовані парадигми програмування; тому його часто називають гібридною.

Підхід

Дотримується підходу зверху вниз.

Слідує підходу знизу вгору.

Відносини

C - підмножина C ++. Він не може працювати з кодом C ++.

C ++ є надмноженою версією C. C ++ може запускати більшу частину коду C, поки C не може запустити C ++ код.

Диск

Функціонально-мова

Об'єктно-мовна мова

Фокус

Зосереджується на методі або процесі, а не на даних.

Зосереджується на даних, а не на методі чи процедурах.

Будівельні блоки

Функції

Об'єкти

Ключові слова

Містить 32 ключові слова

Містить 52 ключові слова

Концепції OOPS

Оскільки мова "C" є мовою, орієнтованою на процедури, вона не підтримує такі концепції OOPS, як клас, об'єкт, спадкування, поліморфізм, приховування даних і т.д.

Як об'єктно-орієнтована мова, C ++ підтримує клас, об'єкт, приховування даних, поліморфізм, успадкування, абстракцію тощо.

Функції

  • Не підтримує перевантаження функцій та операторів.
  • Не можна використовувати функції всередині структур
  • Не підтримує віртуальні функції та посилання змінні
  • Не підтримує обробку винятків
  • не підтримує змінні посилання
  • не має функції простору імен
  • можна викликати функцію main () через інші функції
  • Підтримує функцію і перевантаження оператора.
  • Може використовувати функції всередині структур
  • Підтримує віртуальні функції і змінні посилання.
  • Підтримує обробку винятків за допомогою блоку try і catch. Винятки використовуються для "жорстких" помилок, які роблять код неправильним.
  • підтримує змінні посилання
  • використовує функцію NAMESPACE, яка дозволяє уникнути колізій імен.
  • не можна викликати функцію main () через інші функції.

Функції пам'яті

Використовує функції calloc (), malloc () і free () для розподілу та вилучення пам'яті.

Використовує оператори new та delete для тієї ж мети.

Інкапсуляція

Не підтримує. Дані та функції є окремими та вільними об'єктами.

Підтримує інкапсуляцію. Дані та функції інкапсульовані разом у вигляді об'єкта. Клас об'єктів надає план структури об'єкта.

Приховування інформації

C не підтримує приховування інформації. Тут дані є вільними об'єктами і можуть маніпулюватися зовнішнім кодом.

Інкапсуляція приховує дані, щоб гарантувати, що структури даних і оператори використовуються за призначенням.

Дані

Підтримує вбудовані та примітивні типи даних.

Дані не захищені внаслідок не-об'єктної орієнтації

Підтримуються як вбудовані, так і користувацькі типи даних.

Дані захищені (приховані) у C ++

Рівень

Мова низького рівня

Мова середнього рівня

Введення-виведення

Мова 'C' використовує scanf () і printf () для введення і виведення.

Мова "C ++" використовує оператори cin >> і cout << для введення і виведення.

Декларація змінних

C вимагає оголошення всіх змінних у верхній частині програми.

У C ++ змінні можуть бути оголошені в будь-якому місці програми перед використанням.

Кілька декларацій

Допускається багатократна декларація глобальних змінних.

Не допускається багатократна декларація глобальних змінних.

Зіставлення

Картування між даними та функціями є складним і складним.

Відображення між даними та функцією можна використовувати за допомогою "Об'єктів"

Програмування графічного інтерфейсу

C підтримує інструмент GTK для програмування графічного інтерфейсу

C ++ підтримує інструменти Qt для програмування графічного інтерфейсу

Успадкування

Успадкування в C неможливе

Успадкування можливе в C ++

Розширення файлу

Має розширення .c

Має розширення .cpp

Файл заголовок за умовчанням

Файл заголовка за замовчуванням, що використовується на мові C, є stdio.h

Файл заголовка за замовчуванням, що використовується в C ++, є iosteam.h

Деякі приклади різниці між C і C ++:

Приклади

C

C ++

Декларація змінних

Лише вгорі:

int i;

для (i = 10; i <10; i ++)

У будь-якому місці програми:

для (int i = 10; i <10; i ++)

Виділення пам'яті

Malloc:

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

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

Нове:

int * x = new int;

int * x_array = new int [10];

Видалення пам'яті

Безкоштовно:

вільний (x);

безкоштовно (x_array);

Видалити:

delete x;

delete [] x_array;

Рекомендуємо

Схожі Статті

  • різниця між: Різниця між любов'ю і шлюбом

    Різниця між любов'ю і шлюбом

    Ключова відмінність: «Любов» - це глибока ніжна, пристрасна прихильність до іншої людини. Це відчуття теплої особистої прихильності або глибокої прихильності, як для батька, дитини або друга. Вона також може бути використана для опису сексуальної пристрасті або бажання. Шлюб - це юридичний договір між двома людьми. Акт шлюбу зазвичай створює юриди
  • різниця між: Різниця між фрілансером, консультантом і підприємцем

    Різниця між фрілансером, консультантом і підприємцем

    Ключова різниця: Фрілансер - це той, хто по суті самозайнятий. Він працює на роботодавця протягом короткого часу з будь-якими довгостроковими зобов'язаннями. Консультант, з іншого боку, є професіоналом, зазвичай з багаторічним досвідом роботи в цій галузі. Потім він працює в якості консультанта в цій галузі, яка надає професійні або експертні консультації. Підприємці - це люди, які починають свій бізнес або компанію. Існував один раз в промисловості, коли єдина
  • різниця між: Різниця між Nokia Lumia 720 і Nokia Lumia 820

    Різниця між Nokia Lumia 720 і Nokia Lumia 820

    Основна різниця: Nokia Lumia 720 є одним з найновіших телефонів, які подібні до свого флагмана Lumia 920. Lumia 720 поставляється з 1 ГГц двоядерним процесором Snapdragon S4 з 512 Мб оперативної пам'яті і 8 Гб внутрішнього сховища, що може бути оновлено до 64 Гб. Телефон доступний з первинною камерою 6, 7 МП з оптикою Carl Zeiss, автофокусом і світлодіодним спалахом. Вона також має додаткову камеру 1, 3 МП з роздільною здатн
  • різниця між: Різниця між Smartwatch та Smart браслетом

    Різниця між Smartwatch та Smart браслетом

    Ключові відмінності: Smartwatches - це безкоштовні продукти, які з'єднують годинник з телефоном і дозволяють людині контролювати функції деяких телефонів безпосередньо на годиннику. Смарт-браслети включають смарт-годинники та розумні браслети, але більше у формі браслетів, ніж годинник. Технологія просунулася до того моме
  • різниця між: Різниця між iPad Mini і Galaxy Note 10.1

    Різниця між iPad Mini і Galaxy Note 10.1

    Ключові відмінності: IPad Mini є гладким, тонше iPad 2. IPad Mini поставляється з 7, 9-дюймовим LED-підсвічуванням мультисенсорного дисплея з сенсорним екраном IPS технології, покритим олеофобним матеріалом, стійким до відбитків пальців. Galaxy Note 10.1 - це планшетний комп'ютер, розроблений і виготовлений компанією Samsung. Він має 10, 1-дюймовий екран і продається як платформа для мультимедійного
  • різниця між: Різниця між законом і конституційним правом

    Різниця між законом і конституційним правом

    Ключові відмінності: Законодавчі закони - це закони, які були записані та кодифіковані законодавчою гілкою країни. Закон був встановлений законодавчим органом або законодавцем (якщо він є монархією) і кодифікований урядом. Ці закони також відомі як закон чи сесія. Конституційне право - це сукупність законів, що визначає відносини між різними суб'єктами в межах нації, найчастіше судовими, виконавчими т
  • різниця між: Різниця між групою та оркестром

    Різниця між групою та оркестром

    Ключова різниця: Обидві групи та оркестр - це музичні ансамблі. Оркестр - старший ансамбль. Середній оркестр має від 75 до 100 різних музикантів, які грають симфонічну музику. Групи різняться за кількістю і типом музики, яку вони грають. Хоча музикант або студент музики може розпізнати різницю між групою та ор
  • різниця між: Різниця між Дідом Морозом і Дід ​​Мороз

    Різниця між Дідом Морозом і Дід ​​Мороз

    Ключова різниця: Санта-Клаус описується як велика людина з білою бородою і окулярами. Він вважається веселою людиною, яка наносить червоне пальто, облицьоване білим хутром. Дід Мороз має британське походження і є фігурою, яка спочатку була пов'язана з Різдвом у 15 столітті. У сучасному світі, Дід Мороз і Санта
  • різниця між: Різниця між грибами та рослинами

    Різниця між грибами та рослинами

    Ключова різниця: Гриби - це група одноклітинних або багатоядерних організмів, які живуть і ростуть на розкладеному речовині. Рослини - це багатоклітинні живі організми, які є частиною Королівства Plantae, які пов'язані з певними ознаками, такими як багатоклітинні, володіють целюлозою і мають здатність здійснювати фотосинтез. Рослини і гриби відіграють важливу роль у виживанні людей і інших організмів на планеті. Всі живі істоти раніше були класифіковані як окремі королівства, включаючи Царство Монеру, Королівство Грибів, Царство Протиста, Королівство Планта та Королівство Анімалія. Хо

Вибір Редакції

Різниця між похміллям і вилученням

Ключова різниця: Похмілля - це ефект, який відчувається після великого споживання алкоголю. Це, як правило, відбувається, коли інтоксикація починає виснажуватися і виконується поглинається системою. Зняття - це симптоми, які виникають, коли особа, яка пристрасть до алкоголю або інші речовини, раптово припиняє прийом конкретної речовини. Пиття стало одним з улюбл