프로그래밍/C,C++

C언어와 C++의 차이점이 무엇이 있을까?

gameObject 2023. 10. 25. 23:35
728x90

자료구조 공부와 코딩테스트 준비를 하려다 보니

윤성우의 열혈자료구조에서는 C언어를 다루고 코딩테스트에서는 C++을 이용하려고 하여 두 언어의 차이점을 먼저 살펴보고자 한다. 


C는 우리가 프로그램이란것이 이런것, 포인터, 메모리란 이런거구나 이런부분을 배울 수 있다면

C++는 C의 언어적 특성들을 가져와서 객체지향형 프로그래밍이 가능하다는 점이다.

 

C++을 통해 좀 더 업그레이드 된 프로그램을 경험 할 수 있다.

 

C와 C++을 비교해보자

 

C 키워드

1. 데이터형

 char, int, short, long, unsigned, float, double, struct, union, typedef

*union: 하나의 데이터형을 비트단위로 짤라서 사용할 수 있도록 해줌

 

2. 반복문

 for, while, do while

 

3. 분기문

if, else, switch, case, default, break, continue, goto

*goto는 잘 사용안함

 

4. 기억장소

auto, extern, register, static

*register,auto는 거의 사용안함

 

5. 기타

return, sizeof, enum, const

*sizeof: 어떤 변수의 메모리 크기를 바이트단위로 알려주고자하는 함수형태의 키워드

 

여기서 좀 더 추가된 것이 C++이다.

C키워드 총 개수 30개

실제 사용하는 키워드는 약 21개

 

C++ 키워드

C++는 C를 다 포함한다. C라는 문법에 몇가지 키워드와 문법이 추가된 것이다.

따라서 C를 잘 알필요가 있다.

 

1. 데이터형

bool

*bool은 1byte이다.

*C++에서 true는 1이고 false는 0이다.

 

2. 기억장소(메모리)

new, delete, this

 

*C에서는 malloc을 이용하거나 free를 통해 메모리를 할당 해제를 했었다.

 

3. 객체 관련

class, private, protected, public, operator, template, virtual, friend

 

*C는 절차지향적이다. 순서에 따라 함수를 콜해서 사용한다. 하지만 C++은 객체라는 개념이 추가되었다.

 

4. 기타

catch, try, false, true, namespace

 

C++ 키워드 총 개수

C언어 키워드 (30개) + 17개 = 47개

 

실제 사용하는 키워드

C언어 (21개) + 15개 = 약 36개


C 와 C++ 공통 개념

1. 배열

 - 메모리 + 고정의 역할(데이터형, 인덱스)

 - 메모리 정적할당

2. 포인터

 - 메모리 주소 저장 + * 

3. 메모리 동적할당

 1) C : malloc(), free()

 2) C++ : new, delete

4. 구조체

 - 새로운 데이터 형을 만든다.

5. 함수

 - 특정 기능을 한다.

6. 변수와 상수

 

4,5,6번의 개념이 C++에서는 객체라는 개념 class를 사용해서 묶었다.

728x90