자료구조 공부와 코딩테스트 준비를 하려다 보니
윤성우의 열혈자료구조에서는 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를 사용해서 묶었다.
'프로그래밍 > C,C++' 카테고리의 다른 글
[c++] string::substr 사용법 (0) | 2023.10.26 |
---|---|
C++ 입력 함수 / cin, cin.get(), getline() (1) | 2023.10.26 |
자료형(정수형, 실수형) 범위를 알아보자 (0) | 2023.09.24 |
c++ string::find() , string에서 특정 문자열을 찾아내는 함수 (0) | 2023.07.18 |
C++, substr_문자열 찾아내는 함수 (0) | 2023.07.18 |