예제와 함께 C와 C ++의 차이점 | 프로그래밍 언어들

주요 차이점 : C와 C ++는 서로 다른 두 가지 컴퓨터 프로그래밍 언어입니다. C ++은 C 프로그래밍 언어에서 개발되었습니다. 그러나 그들은 사실상 아주 다릅니다. 가장 분명한 차이점은 C는 프로 시저 지향 언어이고 C ++은 프로 시저와 객체 지향 프로그래밍을 모두 지원하므로 하이브리드 언어라고하는 경우가 많습니다.

C와 C ++은 두 가지 다른 컴퓨터 프로그래밍 언어입니다. C는 원래 AT & T Bell Labs의 Dennis Ritchie가 1969 년과 1973 년 사이에 개발했습니다. C ++은 또 하나의 범용 프로그래밍 언어입니다. 이것은 원래의 C 프로그래밍 언어에서 개발되었습니다. Bell Labs의 Bjarne Stroustrup에 의해 1979 년부터 개발되었습니다. C ++는 원래 C를 기반으로 C라는 클래스로 C라는 이름이 붙여졌습니다. 1983 년 C ++로 이름이 바뀌 었습니다.

C는 현재 사용되는 가장 오래된 프로그래밍 언어 중 하나이며 가장 널리 사용되는 프로그래밍 언어 중 하나입니다. 이전에 어셈블리 언어로 코딩 된 응용 프로그램에서 지속적으로 사용되었습니다. 여기에는 UNIX 컴퓨터 운영 체제가 포함됩니다. C는 C #, D, Go, Java, JavaScript, Limbo, LPC, Perl, PHP, Python 및 Unix의 C 쉘과 같은 많은 프로그래밍 언어에도 직접적으로 또는 간접적으로 영향을줍니다. 이러한 새로운 언어에도 불구하고 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 ++은 new 및 delete를 사용합니다. C는 입출력을 위해 scanf () 및 printf ()를 사용하고 C ++은 cin >> 및 cout << 연산자를 사용합니다. C는 GUI 프로그래밍을위한 GTK 도구를 지원하지만 C ++은 GUI 프로그래밍을위한 Qt 도구를 지원합니다. 또 다른 차이점은 C는 프로그램 상단의 모든 변수를 선언해야하지만 C ++에서는 변수가 프로그램의 어느 곳에서나 선언 될 수 있다는 것입니다.

또한 C ++은 일반적으로 C보다 사용하기 쉽기 때문에 배울 것이 더 쉬운 것으로 간주됩니다. C ++에는 특히 C 프레임 워크를 처음 접하는 사람에게 코딩을 쉽게 해주는 추가 기능이 많이 있습니다. 그러나 많은 사람들이 그것이 실제로 중요하다고 주장합니다. 두 언어는 너무 많이 다르므로 두 언어가 서로 독립적으로 존재할 수 있습니다. 한 가지 명심해야 할 것은 C는 C ++보다 훨씬 구조화 된 반면 C ++은 C보다 표현력이 풍부하고 추상적으로 설계되었습니다.

C와 C ++의 비교 :

기음

C ++

설립

1969 년부터 1973 년까지 AT & T Bell Labs의 Dennis Ritchie가 개발했습니다.

1979 년 벨 연구소 (Bell Labs)의 비얀 스트로 우 스트롭 (Bjarne Stroustrup)이 개발했습니다.

소스 코드

자유 형식 프로그램 소스 코드

원래 C 프로그래밍 언어로 개발되었습니다.

언어

절차 중심 언어

절차 적 및 객체 지향 프로그래밍 패러다임을 모두 지원합니다. 따라서 종종 하이브리드 언어라고합니다.

접근

하향식 접근법을 따릅니다.

상향식 접근법을 따른다.

관계

C는 C ++의 하위 집합입니다. C ++ 코드를 실행할 수 없습니다.

C ++는 C의 상위 집합입니다. C ++은 C 코드의 대부분을 실행할 수 있지만 C는 C ++ 코드를 실행할 수 없습니다.

드라이브

함수 중심 언어

객체 중심 언어

초점

데이터보다는 방법 또는 프로세스에 중점을 둡니다.

방법이나 절차보다는 데이터에 중점을 둡니다.

빌딩 블록

기능들

사물

키워드

32 개의 키워드가 들어 있습니다.

52 개의 키워드 포함

수확량 개념

'C'언어는 프로 시저 지향 언어이므로 클래스, 객체, 상속, 다형성, 데이터 숨기기 등과 같은 OOPS 개념을 지원하지 않습니다.

C ++은 객체 지향 언어로서 클래스, 객체, 데이터 숨김, 다형성, 상속, 추상화 등을 지원합니다.

기능들

  • 함수 및 연산자 오버로딩을 지원하지 않습니다.
  • 구조체 내부에서 함수를 사용할 수 없다.
  • 가상 함수 및 참조 변수를 지원하지 않습니다.
  • 예외 처리를 지원하지 않습니다.
  • 참조 변수를 지원하지 않습니다.
  • 네임 스페이스 기능이 없습니다.
  • 다른 함수를 통해 main () 함수를 호출 할 수있다.
  • 함수 및 연산자 오버로딩을 지원합니다.
  • 구조 내부에서 함수를 사용할 수 있습니다.
  • 가상 함수 및 참조 변수를 지원합니다.
  • try 및 catch 블록을 사용하여 예외 처리를 지원합니다. 예외는 코드를 부정확하게 만드는 "하드"오류에 사용됩니다.
  • 참조 변수 지원
  • 이름 충돌을 피하는 NAMESPACE 기능을 사용합니다.
  • 다른 함수를 통해 main () 함수를 호출 할 수 없습니다.

메모리 함수

메모리 할당 및 할당 해제에 calloc (), malloc () 및 free () 함수를 사용합니다.

새로운 연산자를 사용하고 동일한 목적으로 삭제합니다.

캡슐화

지원하지 않습니다. 데이터와 함수는 별도의 자유 개체입니다.

캡슐화를 지원합니다. 데이터와 함수는 객체의 형태로 함께 캡슐화됩니다. Objects 클래스는 객체 구조의 청사진을 제공합니다.

정보 숨기기

C는 정보 숨기기를 지원하지 않습니다. 여기서 데이터는 자유 엔티티이며 외부 코드로 조작 할 수 있습니다.

캡슐화는 데이터 구조와 연산자가 의도 한대로 사용되도록 데이터를 숨 깁니다.

데이터

기본 제공 및 원시 데이터 형식을 지원합니다.

비 객체 지향으로 인해 데이터가 보호되지 않습니다.

내장 및 사용자 정의 데이터 유형을 모두 지원합니다.

C ++에서 데이터 보안 (숨김)

수평

저수준 언어

중간 수준 언어

입출력

'C'언어는 입출력을 위해 scanf () 및 printf ()를 사용합니다.

'C ++'언어는 입출력을 위해 cin >> 및 cout << 연산자를 사용합니다.

변수 선언

C는 프로그램 상단에 모든 변수를 선언해야합니다.

C ++에서 변수는 사용하기 전에 프로그램의 어느 위치에서나 선언 할 수 있습니다.

다중 선언

전역 변수의 다중 선언이 허용됩니다.

전역 변수에 대한 다중 선언은 허용되지 않습니다.

매핑

데이터와 함수 간의 매핑은 어렵고 복잡합니다.

데이터와 함수 사이의 매핑은 "Objects"를 사용하여 사용할 수 있습니다.

GUI 프로그래밍

GUI 프로그래밍을위한 GTK 툴 지원

C ++은 GUI 프로그래밍을위한 Qt 툴을 지원합니다.

계승

C에서 상속을 사용할 수 없습니다.

C ++에서 상속 가능

파일 확장자

파일 확장명이 .c입니다.

파일 확장명이 .cpp입니다.

기본 헤더 파일

C 언어에서 사용되는 기본 헤더 파일은 stdio.h입니다.

C ++에서 사용되는 기본 헤더 파일은 iosteam.h입니다.

C와 C ++의 차이점에 대한 몇 가지 예 :

예제들

기음

C ++

변수 선언

상단에서만 :

int i;

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

프로그램의 어느 곳에서나 :

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

메모리 할당

Malloc :

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

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

새로운:

int * x = 새로운 int;

int * x_array = 새로운 int [10];

메모리 방출

비어 있는:

무료 (x);

무료 (x_array);

지우다:

x를 삭제하십시오;

delete [] x_array;

추천

관련 기사

  • 차이점: GATT와 WTO의 차이점

    GATT와 WTO의 차이점

    주요 차이점 : 관세 및 무역에 관한 일반 협정 (GATT)은 국제 무역을 규제하는 다자간 협정이었다. 그것은 1948 년에 만들어졌으며 1993 년까지 지속되었다. 세계 무역기구 (WTO)는 국제 무역을 감독하고 자유화하는 목적으로 1995 년에 GATT를 대신하여 설립되었다. WTO는 GATT에 비해 더 영구적 인 구조를 가지고있다. WTO는 또한 상품 교역 이외에 서비스 무역 및 지적 재산권의 무역 관련 측면을 모니터링합니다. 다른 나라들 사이에 평화와 정의를 유지하기 위해 전 세계에 만들어진 다양한기구 나 협약이 있습니다. 그러한기구의 주요 목적은 세계의 다른 나라들 사이에서 협상, 무역
  • 차이점: 메타 키워드와 메타 설명의 차이점

    메타 키워드와 메타 설명의 차이점

    주요 차이점 : 메타 키워드 태그는 웹 페이지의 특정 단어에 중점을두기 위해 HTML 코드에 삽입되는 키워드입니다. 메타 설명 태그는 웹 페이지가 보유하고있는 것을 요약 또는 설명합니다. 메타 키워드와 메타 설명은 더 큰 '메타 태그'그룹의 일부인 태그입니다. 이 태그는 웹 페이지의 메타 데이터를 제공하며 검색 엔진 최적화에 매우 유용합니다. 메타 태그는 페이지 순위를 결정할 때 검색 엔진이 볼 수있는 큰 알고리즘 퍼즐의 작은 부분입니다. 메타 키워드 태그와 메타 설명 태그가 무엇인지 이해하려면 먼저 일반적으로 메타 태그를 이해해야합니다. 메타 태그는 웹 페이지의 HTML 코드에서 공개 헤드 태그와 닫기 헤드
  • 차이점: 실리콘과 실리콘의 차이점

    실리콘과 실리콘의 차이점

    주요 차이점 : 실리콘은 지구의 핵심에서 발견되는 반 형체 요소입니다. 그것은 먼지, 모래 및 행성 지각의 일부에서 광범위하게 발견됩니다. 실리콘은 실리콘을 탄소, 수소 및 산소와 같은 다른 원소와 혼합하여 만든 고분자입니다. 실리콘과 실리콘은 거의 같은 방식으로 철자가 있지만 언뜻 보면 같은 단어처럼 보일지라도 이들은 완전히 다른 두 가지 단어를 나타내는 두 가지 단어입니다. 실리콘은 자연적으로 지구에서 발견되는 반면, 실리콘은 인위적으로 만들어진 물질입니다. 실리콘은 지구의 핵심 부분에서 발견되는 반 형체 요소입니다. 주기율표의 기호 S
  • 차이점: 원조와 보좌 간의 차이점

    원조와 보좌 간의 차이점

    주요 차이점 : 원조는 도움이되거나 필요하다는 의도로 제공되는 것을 말합니다. 원조는 기본적으로 도움이됩니다. 보좌관이란 다른 사람을 도우려는 사람을 말합니다. 보좌관은 비서 또는 개인 비서와 비슷합니다. '원조'와 '보좌관'이라는 두 용어는 매우 유사합니다. 한 명은 똑같은 소리를, 두 번째는 한 명만 차별화시켜줍니다. 그러나이 두 용어는 사실 서로 상당히 다릅니다. 그것들은 다른 의미를 가지고 있으며 다른 것을 묘사합니다. 원조 란 도움이되거나 필요하다는 의도로 제공되는 것을 말합니다. 원조는 기본적으로 도움이됩니다. 이 용어는 자연 재해가 발생했을 때 희생자와 생존자에게 보내는 도움과 조항을 나타 내기 위해 자주 사용됩니
  • 차이점: Google Pixel과 Pixel XL의 차이점

    Google Pixel과 Pixel XL의 차이점

    주요 차이점 : Google Pixel과 Pixel XL은 새로운 Pixel 스마트 폰 라인에서 Google이 출시 한 두 가지 전화기입니다. Google Pixel과 Pixel XL은 기본적으로 동일한 전화입니다. 그들은 동일한 하드웨어, 동일한 소프트웨어 및 기타 모든 것을 가지고 있습니다. 그들 사이의 유일한 차이점은 Pixel XL이 Pixel의 XL 버전이라는 것입니다. 즉, 더 큰 것입니다. Google Pixel과 Pixel XL은 새로운 Pixel 스마트 폰 라인에서 Google이 출시 한 두 가지 휴대폰입니다. 그것들은 본질적으로 구글의 이전 범위 인
  • 차이점: Nokia Lumia 720과 Sony Xperia T의 차이점

    Nokia Lumia 720과 Sony Xperia T의 차이점

    주요 차이점 : Nokia Lumia 720은 최신 Lumia 920과 유사한 최신 휴대폰 중 하나입니다. Lumia 720에는 512MB RAM 및 8GB 내부 저장 공간이있는 1GHz 듀얼 코어 Snapdragon S4 프로세서가 64 개로 업그레이드 할 수 있습니다 GB. 이 전화기는 Carl Zeiss 광학, 자동 초점 및 LED 플래시가 장착 된 6.7 MP 기본 카메라와 함께 사용할 수 있습니다. 또한 소니 Xperia T는 2012 년 8 월에 출시 된 소니의 또 다른 모델입니다. 720 x 1280 픽셀의 해상도로 4.55 인치 화면이 있습니다. 이 제품은 1GB RAM을 갖춘 듀얼 코어 1.5GHz Krait
  • 차이점: Android 4.0과 Android 4.1의 차이점

    Android 4.0과 Android 4.1의 차이점

    주요 차이점 : 안드로이드 4.0 아이스크림 샌드위치는 2011 년 11 월 14 일에 공개 된 OS 소스 코드와 함께 2011 년 10 월 19 일에 공개적으로 출시되었습니다. 안드로이드 4.0은 2.3 진저 브레드를 업그레이드 한 것으로, 풍모. Android 4.1 Jelly Bean은 2012 년 10 월에 출시되었으며 LG Nexus 4 및 Samsung Nexus 10에서 출시되었습니다. Jelly Bean 4.1은 Ice Cream Sandwich 로의 업그레이드였으며 원래 ICS에 몇 가지 추가 기능을 제공했습니다. Android는 Google에서 개발 한 가장 인기있는 스마트 폰 운영체제 중 하나입니다. 안드로이드는 모바일 핸드셋 제조업체, 애플리케이션 개발자, 일부 이동 통신사 및 칩 제조업체를 포함하는
  • 차이점: 선불과 후불 사이의 차이점

    선불과 후불 사이의 차이점

    주요 차이점 : 선불 및 후불 결제라는 용어는 휴대 전화 또는 휴대 전화 연결을 나타내는 데 가장 일반적으로 사용됩니다. PRE-paid라는 용어는 사용하기 전에 지불해야한다는 것을 나타내며, POST - paid는 지불해야하는 것을 나타냅니다. 선불 및 후불 지불 조건은 주로 휴대 전화 연결, 인터넷 연결, 케이블 연결 등과 같은 청구 된 서비스의 컨텍스트에서 사용됩니다. 일반적으로이 조건은 휴대 전화 또는 휴대 전화 연결을 나타내는 데 사용됩니다. 또한 선불 및 후불 신용 카드를 언급하는 데 사용할 수 있습니다. 용어가 혼동을 줄 수는 있
  • 차이점: 남성과 여성의 감수 분열의 차이

    남성과 여성의 감수 분열의 차이

    주요 차이점 : 남성과 여성의 감세는 사건의시기와 연속성과 같은 측면에서 크게 다릅니다. 남성과 여성의 과정은 또한 실제 배우자 생산 측면에서 특히 다르다. 남성의 감수량은 사춘기 이후에 시작되어 처리량 수명을 계속합니다. 반면에 여성에서는 태아의 12 주째부터 거의 시작되며 사춘기까지 재개되지 않습니다. include ( "ad4th.php"); ?> 감수 분열은 배우자를 형성하기 위해 세포 분열이 일어나는 특수 과정입니다. 이 과정은 두 번의 세포 분열이 뒤 따르는 DNA 복제의 단일 라운드를 포함합니다. 이 과정

에디터의 선택

Roti와 Naan의 차이점

주요 차이점 : 둘 다 단 빵의 종류입니다. Roti는 일반적으로 통 밀가루로 만들어지며 tawa (플랫 프라이팬) 또는 tandoor (오븐)에서 조리됩니다. Naan은 모든 목적을 가진 밀가루에서 조리되고, 발효되며, 즉 효모를 사용하고, 탄두리에서 조리됩니다. 인도 요리는 항상 인디언과 비 인디언 모두에게 인기가있었습니다. 그러나 최근 인기가 높아지고 있습니다. 그 결과로 많은 사람들이 친구와 친척들로부터의 식당에서든 그들이 최근에 즐기던 멋진 식사를 설명 할 수는 없던 여러 인도 용어를 접할 수 있습니다. 두 가지 용어는 roti와 naan 일 수 있습니다. 이