Шта је Ц?
Ц је структурно или процедурално оријентисан програмски језик који је независан од машина и који се интензивно користи у различитим апликацијама.
Ц је основни програмски језик који се може користити за развој од оперативних система (као што је Виндовс) до сложених програма као што су Орацле база података, Гит, Питхон интерпретер и многи други. Програмски језик Ц се може назвати Божјим програмским језиком јер чини основу за друге програмске језике. Ако знамо језик Ц, онда лако можемо научити друге програмске језике. Језик Ц развио је велики компјутерски научник Деннис Ритцхие у Белл Лабораториес. Садржи неке додатне карактеристике које га чине јединственим од других програмских језика.
Шта је Ц++?
Ц++ је програмски језик посебне намене који је развио Бјарне Строуструп у Белл Лабс око 1980. Ц++ језик је веома сличан језику Ц, и толико је компатибилан са Ц да може да покрене 99% Ц програма без промене извора кода, иако је Ц++ објектно оријентисани програмски језик, тако да је сигурнији и добро структурирани програмски језик од Ц.
јава једнака
Хајде да разумемо разлике између Ц и Ц++.
јава подниз садржи
Следе разлике између Ц и Ц++:
Ц је структурни програмски језик и не подржава класе и објекте, док је Ц++ објектно оријентисани програмски језик који подржава концепт класа и објеката.
Ц подржава структурни програмски језик где се код проверава ред по ред, док је Ц++ објектно оријентисани програмски језик који подржава концепт класа и објеката.
Денис Ричи је развио Ц језик у Белл Лабораториес док је Бјарне Строуструп развио Ц++ језик у Белл Лабс око 1980.
Ц++ је надскуп програмског језика Ц. Ц++ може да покрене 99% Ц кода, али Ц језик не може да покрене Ц++ код.
Ц прати приступ одозго надоле, док Ц++ следи приступ одоздо према горе. Приступ одозго према доле дели главне модуле на задатке; ови задаци су подељени на подзадатке, итд. Приступ одоздо према доле развија прво модуле нижег нивоа, а затим модуле следећег нивоа.
У Ц-у, подаци могу лако да се манипулишу од стране аутсајдера јер не подржава инкапсулацију и скривање информација, док је Ц++ веома сигуран језик, тј. ниједан аутсајдер не може да манипулише његовим подацима јер подржава и енкапсулацију и скривање података. У језику Ц, функције и подаци су слободни ентитети, а у језику Ц++, све функције и подаци су инкапсулирани у облику објеката.
Преоптерећење функција је функција која вам омогућава да имате више од једне функције са истим именом, али се разликују у параметрима. Ц не подржава преоптерећење функција, док Ц++ подржава преоптерећење функција.
Надјачавање функције је карактеристика која обезбеђује специфичну имплементацију функције, која је већ дефинисана у основној класи. Ц не подржава надјачавање функције, док Ц++ подржава надјачавање функције.
Ц не подржава референтне варијабле, док Ц++ подржава референтне варијабле.
Ц садржи 32 кључне речи, а Ц++ подржава 52 кључне речи.
Именски простор је карактеристика која групише ентитете као што су класе, објекти и функције под одређеним именом. Ц не садржи функцију именског простора, док Ц++ подржава функцију именског простора која избегава колизије имена.
Ц не пружа директну подршку за обраду изузетака; потребно је да користи функције које подржавају руковање изузетцима. Ц++ пружа директну подршку за руковање изузетцима коришћењем блока три-цатцх.
У Ц, функције сцанф и принтф се користе за улазне и излазне операције, респективно, док се у Ц++, цин и цоут користе за улазне и излазне операције, респективно.
Ц подржава функције цаллоц() и маллоц() за доделу меморије и функцију фрее() за де-алокацију меморије. Ц++ подржава нови оператор за доделу меморије и оператор брисања за де-алокацију меморије.
Наслеђивање је функција која омогућава подређеној класи да поново користи својства родитељске класе. Ц језик не подржава наслеђивање док Ц++ подржава наслеђивање.
Ц програм користи датотеку заглавља док Ц++ програм користи датотека заглавља.
Хајде да сумирамо горе наведене разлике у табеларном облику.
Не. | Ц | Ц++ |
---|---|---|
1) | Ц прати програмирање процедуралног стила. | Ц++ је мулти-парадигма. Подржава и једно и друго процедуралне и објектно оријентисане. |
2) | Подаци су мање сигурни у Ц. | У Ц++-у можете користити модификаторе за чланове класе да бисте је учинили недоступном за спољне кориснике. |
3) | Ц прати одозго на доле приступ. | Ц++ прати приступ одоздо према горе. |
4) | Ц не подржава преоптерећење функција. | Ц++ подржава преоптерећење функција. |
5) | У Ц-у не можете користити функције у структури. | У Ц++, можете користити функције у структури. |
6) | Ц не подржава референтне варијабле. | Ц++ подржава референтне променљиве. |
7) | У Ц, сцанф() и принтф() се углавном користе за улаз/излаз. | Ц++ углавном користи стреам цин и коут за обављање улазних и излазних операција. |
8) | Преоптерећење оператера није могуће у Ц. | Преоптерећење оператора је могуће у Ц++. |
9) | Ц програми се деле на процедуре и модули | Ц++ програми се деле на функције и класе. |
10) | Ц не пружа функцију именског простора. | Ц++ подржава функцију именског простора. |
Једанаест) | Руковање изузецима није лако у Ц-у. Мора да ради користећи друге функције. | Ц++ обезбеђује руковање изузетцима помоћу блока Три анд Цатцх. |
12) | Ц не подржава наслеђивање. | Ц++ подржава наслеђивање. |