Разлика између Ц и Ц ++ са примерима | Програмски језици

Кључна разлика: Ц и Ц ++ су два различита програмска језика. Ц ++ је развијен из програмског језика Ц; међутим, оне су по својој природи прилично различите. Најочигледнија разлика је да је Ц језик оријентисан на процедуру, док Ц ++ подржава и процедурално и објектно оријентисано програмирање, стога се често назива хибридни језик.

Ц и Ц ++ су два различита програмска језика. Ц је првобитно развио Деннис Ритцхие у АТ&Т Белл Лабс између 1969. и 1973. Ц ++ је други програмски језик опће намјене. Развијен је из оригиналног језика Ц програмирања. Развио га је Бјарне Строуструп из Белл Лабс-а почевши од 1979. Ц ++ је првобитно назван Ц са Цлассес, јер је био заснован на Ц. То је преименовано у Ц ++ 1983. године.

Ц је један од најстаријих програмских језика који се тренутно користи и један је од најраширенијих програмских језика. Непрестано се користи у апликацијама које су претходно биле кодиране у асемблерском језику. Ово укључује УНИКС оперативни систем. Ц је директно или индиректно утицао на много каснијих програмских језика, као што су Ц #, Д, Го, Јава, ЈаваСцрипт, Лимбо, ЛПЦ, Перл, ПХП, Питхон и Уник Ц схелл. Упркос свим овим новим језицима, Ц и даље остаје популаран програмски језик.

Ц ++ је првобитно почео као побољшање Ц. Он је био дизајниран да буде компатибилан са изворима и везама са Ц. Међутим, он је додао класе, виртуалне функције, преоптерећење оператора, вишеструко наслеђивање, предлошке, руковање изнимкама, итд. довољно да се сматра програмским језиком. Првобитно је ратификован 1998. године као ИСО / ИЕЦ 14882: 1998 сертификовани програмски језик. Данас се Ц ++ обично користи за дизајн хардвера.

Ц је програмски језик опште намене који користи тачку са зарезом (;) као терминатор израза, као и витичасте заграде ({}) за груписање блокова израза. Поседује објекте за структурирано програмирање и његов дизајн обезбеђује конструкције које могу ефикасно мапирати типичне машинске инструкције. Он такође дозвољава лексичку варијаблу опсега и рекурзије и има статички систем типа, који спречава многе ненамерне операције.

Међутим, у поређењу са Ц ++, Ц има бројна ограничења. Пошто Ц није објектно оријентисан, он не подржава ООПС концепте. Ц не подржава функцију и преоптерећење оператора. Не може користити функције унутар структура. Не подржава виртуелне функције и референтне варијабле, нити руковање изнимкама. Такође не подржава референтне варијабле. Поред тога, Ц такође не енкапсулира или осигурава податке. За успоредбу, Ц ++ подржава све ове значајке.

Поред тога, Ц не подржава НАМЕСПАЦЕ функцију, док Ц ++ ради. Простор имена је дефинитивни регион који омогућава груписање идентификатора (имена типова, функција, променљивих итд.). Простори имена се затим могу користити за организовање кода у логичке групе и спречавање судара имена. Ово је посебно корисно када база кода садржи више библиотека, што идеално чини код склоним сударима имена.

Два језика се такође разликују у начину рада меморије адресе, инпут-оутпута и ГУИ програмирања. На пример, Ц користи цаллоц (), маллоц () и фрее () функције за алокацију и одвајање меморије, док Ц ++ користи нове и брише. Ц користи сцанф () и принтф () за улаз и излаз, док Ц ++ користи цин >> и цоут << операторе. Ц подржава ГТК алат за програмирање ГУИ, док Ц ++ подржава Кт алате за програмирање ГУИ-ја. Друга разлика је у томе што Ц захтева да се све променљиве декларишу на врху програма, док у Ц ++ променљиве могу бити декларисане било где у програму.

Осим тога, Ц ++ се обично сматра лакшим за учење, јер је он лакши за употребу од Ц. Ц ++ такође има бројне додатне функције које олакшавају кодирање, посебно за некога ко је нови у Ц оквиру. Међутим, многи тврде да је то заиста важно. Два језика се толико разликују, да у ствари могу бити два различита језика независно један од другог. Једна ствар коју треба имати на уму је да је Ц много структуриранији од Ц ++-а, док је Ц ++ дизајниран тако да буде изражајнији и апстрактнији од Ц.

Поређење између Ц и Ц ++:

Ц

Ц ++

Фоундед

Развио га је Деннис Ритцхие у АТ&Т Белл Лабс између 1969. и 1973. године.

Развио га је Бјарне Строуструп у Белл Лабс-у од 1979. године.

Изворни код

Изворни код програма слободног формата

Изворно развијен из програмског језика Ц

Језик

Процедура Оријентисан језик

Подржава процедуралне и објектно оријентисане парадигме програмирања; стога се често назива хибридни језик.

Приступ

Прати приступ одозго-надоле.

Прати приступ одоздо на горе.

Однос

Ц је подскуп Ц ++-а. Не може покренути Ц ++ код.

Ц ++ је надскуп од Ц. Ц ++ може покренути већину Ц кода док Ц не може покренути Ц ++ код.

Погон

Језик којим управљају функције

Објецт-дривен лангуаге

Фоцус

Фокусира се на методу или процес, а не на податке.

Фокусира се на податке, а не на методу или процедуру.

Блокови

Функције

Објецтс

Кључне речи

Садржи 32 кључне речи

Садржи 52 кључне речи

ООПС Цонцептс

Будући да је језик „Ц“ процедурално оријентисан, он не подржава ООПС концепте као што су класа, објект, наслеђивање, полиморфизам, скривање података итд.

Као објектно оријентисани језик, Ц ++ подржава класу, објект, скривање података, полиморфизам, наслеђивање, апстракцију, итд.

Функције

  • Не подржава функцију и преоптерећење оператора.
  • Не могу користити функције унутар структура
  • Не подржава виртуалне функције и референтне варијабле
  • Не подржава обраду изузетака
  • не подржава референтне варијабле
  • нема функцију простора имена
  • може позивати функцију маин () преко других функција
  • Подржава функцију и преоптерећење оператора.
  • Може користити функције унутар структура
  • Подржава виртуалне функције и референтне варијабле.
  • Подржава обраду изузетака помоћу пробног и цатцх блока. Изузеци се користе за "тврде" грешке које чине код нетачним.
  • подржава референтне варијабле
  • користи НАМЕСПАЦЕ особину која избјегава колизије имена.
  • не може позивати функцију маин () преко других функција.

Функције меморије

Користи функције цаллоц (), маллоц () и фрее () за алокацију и одвајање меморије.

Користи операторе нове и бришу за исту сврху.

Енцапсулатион

Не подржава. Подаци и функције су одвојени и слободни ентитети.

Подржава енкапсулацију. Подаци и функције су заједно затворени у облику објекта. Класа објеката даје нацрт структуре објекта.

Скривање информација

Ц не подржава скривање информација. Овдје су подаци слободни ентитети и могу се манипулирати вањским кодом.

Инкапсулација скрива податке како би се осигурало да се структуре података и оператори користе како је планирано.

Дата

Подржава уграђене и примитивне типове података.

Подаци нису заштићени због не-објектно оријентисане

Подржава и уграђене и корисничке типове података.

Подаци су заштићени (скривени) у Ц ++

Левел

Језик ниског нивоа

Језик на средњем нивоу

Улаз излаз

'Ц' језик користи сцанф () и принтф () за улаз и излаз.

'Ц ++' језик користи цин >> и цоут << операторе за улаз и излаз.

Декларација варијабли

Ц захтева да се све варијабле на врху програма декларишу.

У Ц ++, променљиве се могу декларисати било где у програму пре употребе.

Мултипле Децларатион

Дозвољена је вишеструка декларација глобалних варијабли.

Вишеструка декларација глобалних варијабли није дозвољена.

Мапирање

Мапирање података и функција је тешко и компликовано.

Мапирање између података и функција може се користити помоћу "Објекти"

ГУИ програмирање

Ц подржава ГТК алат за програмирање ГУИ-ја

Ц ++ подржава Кт алате за ГУИ програмирање

Наслеђивање

Наслеђивање није могуће у Ц

Наслеђивање је могуће у Ц ++

Филе Ектенсион

Има екстензију датотеке .ц

Има екстензију датотеке .цпп

Дефаулт хеадер филе

Подразумевани фајл заглавља који се користи у језику Ц је стдио.х

Подразумевани фајл заглавља који се користи у Ц ++ је иостеам.х

Неки примери разлике између Ц и Ц ++:

Примери

Ц

Ц ++

Декларација варијабле

Само на врху:

инт и;

за (и = 10; и <10; и ++)

Било где у програму:

за (инт и = 10; и <10; и ++)

Додела меморије

Маллоц:

инт * к = маллоц (сизеоф (инт));

инт * к_арраи = маллоц (сизеоф (инт) * 10);

Ново:

инт * к = ново инт;

инт * к_арраи = нев инт [10];

Ослобађање меморије

Бесплатно:

бесплатно (к);

бесплатно (к_арраи);

Избриши:

делете к;

делете [] к_арраи;

Рецоммендед

Везани Чланци

  • популарна поређења: Разлика између Ву Веи и Веи Ву Веи

    Разлика између Ву Веи и Веи Ву Веи

    Кључна разлика : Главна разлика између ова два термина је да је "Ву Веи" филозофски концепт у таоизму, док је израз "Веи Ву Веи" ауторско име. Термини, Ву Веи и Веи Ву Веи су често збуњени. Понекад се можда не зна ни разлика између њих због сличног правописа и хомонимије. Такође, ова сличност може довести до мањег сукоба међу ентуз
  • популарна поређења: Разлика између Бајај Пулсар 150цц ДТСИ и Бајај Пулсар 180цц ДТСИ

    Разлика између Бајај Пулсар 150цц ДТСИ и Бајај Пулсар 180цц ДТСИ

    Кључна разлика: Бајај Пулсар 150цц и 180цц ДТС-и су оба модела мотоцикала од стране компаније која се зове Бајај Ауто. Оба се разликују по различитим карактеристикама као што су максимална снага, максимални обртни момент, типови гума (типови цеви или тубедни), димензије, итд. Бајај Пулсар 150цц се може посматрати као бицикл средње класе, док се Бајај Пулсар 180цц може посматрати као низак капацитет спортског бицикла. Бајај Гроуп је једна од водећих пословних кућа у Индији. Бајај Ауто је во
  • популарна поређења: Разлика између фирмвера и РОМ-а

    Разлика између фирмвера и РОМ-а

    Кључна разлика : Фирмваре је скуп инструкција или програма написаних на машинском језику који се користе за управљање електронским уређајима. РОМ је тип 'уграђеног' меморијског чипа који је способан за чување и похрањивање података у електронском уређају. Електронски уређаји се састоје од три главна дела: хардвера, фирмвера и софтвера. Сва три су потребна за било који уређај. Други уређаји као што су РАМ, РОМ, итд. Који се користе у уређају једноставно надограђују
  • популарна поређења: Разлика између атеиста и агностика

    Разлика између атеиста и агностика

    Кључна разлика: атеист је неко ко не вјерује или пориче постојање врховног бића или бића. Он одбацује идеју постојања било којих божанских божанстава или богова. С друге стране, агностик је особа која сумња у постојање или непостојање бога или богова. Он верује да људи не могу да потврде постојање бога, па стога Бог може или не може да постоји. Атеист вјерује да нема бога који постоји. Разлог таквог порицања може бити заснован на разним разлозима као шт
  • популарна поређења: Разлика између 3Д ултразвука и 4Д ултразвука

    Разлика између 3Д ултразвука и 4Д ултразвука

    Кључна разлика: 3Д ултразвук ствара тродимензионалну слику фетуса. 4Д ултразвук хвата кретање фетуса као и тродимензионалну слику. Ултразвук, познат и као сонограм, је медицински тест који користи високофреквентне звучне таласе да би произвео слику органа у телу. У трудноћи се ултразвук користи за стварање слике фетуса. Према Америцан Прегнанци Ассоциатион, постоји седам типова ултразвука: трансвагинални, стандардни (2-димензионални или 2Д), напредни (циљани специфични проблем
  • популарна поређења: Разлика између стварног броја и комплексног броја

    Разлика између стварног броја и комплексног броја

    Кључна разлика: Прави број је број који може узети било коју вредност на линији бројева. Реални број може бити било који од рационалних и ирационалних бројева. Комплексни бројеви су бројеви који постоје у облику а + иб, где а и б означавају реалне бројеве и и означава имагинарни део. Важно је разумети концепт бројчане линије да бисте сазнали о стварним бројевима. Бројчана линија се може изразити као стварна геометријска линија где је тачка изабрана да буде порекло. Тачке које падају на десну страну порекла с
  • популарна поређења: Разлика између појединачног и вишекорисничког оперативног система

    Разлика између појединачног и вишекорисничког оперативног система

    Кључна разлика: Оперативни систем за једног корисника је систем у којем само један корисник може приступити рачунарском систему истовремено. С друге стране, вишекориснички оперативни систем дозвољава више од једног корисника да истовремено приступају компјутерском систему. Оперативни систем је један од најважнијих програма који се покрећу на рачунару или серверу. То се назива основни софтвер који помаже у обављању основних функција као што су покретање програма, управљање ресурсима, манипулисање датоте
  • популарна поређења: Разлика између приказа страница и јединственог приказа странице

    Разлика између приказа страница и јединственог приказа странице

    Кључна разлика: у веб анализи, прикази страница означавају број посета одређеном Веб сајту. Међутим, јединствени прикази страница броје појединачне посетиоце који су прегледали веб странице током исте сесије или посете. Јединствени прикази страница могу се сматрати подскупом приказа странице. Прегледи страница и јединствени прикази страница звуче слично. Међутим, оба су различита. Сваки пут када се с
  • популарна поређења: Разлика између једначина и функција

    Разлика између једначина и функција

    Кључна разлика: У математици, једначина се користи за означавање једнакости између два израза. Функција је, с друге стране, много сложенија од једнаџбе. Функција се користи да означи однос између скупа улаза и скупа одговарајућих излаза. Једнаџба и функција су два основна темеља алгебре, предмет у математици. Оба могу бити прилично сложена у природи, међутим, у њиховој основној форми могу бити збуњена као једни друге. Главна раз

Избор Уредника

Разлика између Ф1 и Ј1 Виса

Кључна разлика: Ф1 визе су најчешће за студенте који желе да стекну диплому из САД-а и желе да остану запослити у земљи након њиховог дипломирања. Ј1 визе су више за људе који желе да похађају САД за програм културне размене или да науче специјализовано својство у специјализованој области. Програми за студирање у иностранству одличан су начин да се иде у другу земљу како би се стекле предности студирања на престижном универзитету. Сједињене Државе су једно од најсупремљенијих места где се студенти из целог света пријављу