[C++] C++ 입문 / C++의 기초적인 사용법

2021. 3. 25. 17:24

C++의 기초적인 사용법에 대해 알아보자!

 

 

1. 프로그램 구조 및 기본 변수 설정

OS가 프로그램을 시작할 때 main이라는 함수를 가장 먼저 찾는다.

기능을 수행하는 프로그램을 만들 때는 꼭 main이라는 함수를 만들어야 한다.

 

코드에 '주석'을 달면 컴퓨터가 인식하지 못한다. 

코드 설명을 붙히거나 개발자가 메모하고 싶은 것을 '주석'으로 메모할 수 있다.

코드 앞에 '//'를 붙히면 주석 처리가 된다.

 

여러 줄을 주석 처리하고 싶을 땐 주석을 시작하고 싶은 부분에 /*를, 끝내고 싶은 부분에 */를 쓰면 된다.

 

#include <iostream>

//메인 코드입니다.
int main()
{
	return 0;
}


// 전체 주석 처리
/* 
int add(int a, int b)
{
	return a+b;
}
*/

 

 

 

변수는 [자료형 변수명 = 변수값;] 으로 설정 할수 있다

출처 : https://gt500.tistory.com/8

자료형은 int, char, ... 등(정수형, 캐릭터형, ...) 여러 타입이 있고 변수명은 내가 원하는 이름을 지으면 된다.

여기서 x가 2라는 뜻이 아니라 값을 저장할 메모리 공간 이름을 x로 지어주고

이 x라는 메모리 공간에 2라는 값을 넣어주는 것이다.

 

x를 Left Value , 2를 Right Value라고 한다.

 

변수앞에 '&' 기호를 붙혀주면 메모리 공간의 주소값이 나온다.

 

 

 

[결과]

 

 

 

[CODE]

 

#include <iostream>

int main()
{
	int x = 0;
	std::cout << x << endl;
	std::cout << &x << endl;
	
	return 0;
}

 

변수를 선언할 때 변수에는 어떤 값인지 모르는 일명 '쓰레기 값'이 들어 있기 때문에

꼭 초기값을 설정 해 준다.

 

초기값을 설정 해주는 것을 'initialization' 그 다음 변수 값을 바꾸는 것은 'assignment' 이라고 한다.

int x = 130; // initialization > int x(130); < 으로도 표현
x = 250; // assignment

 

 

2. 입출력 스트림

(1) 출력

 

코드 맨 위에 #include <iostream>을 쓰는 것은 C++ 내장 함수를 쓰기 위해서이다.

std::cout << (출력할 내용) << endl; 을 이용해 출력을 해보았다.

'endl'을 쓰지 않으면 다음 칸으로 넘어 가지 않는다.

 

\t를 붙혀주면 tab을 한 것과 같다.

그냥 공백과 다른점은 그다음 hello와 hi처럼 길이가 달라도 공백 다음 문자열 시작 위치를 맞춰준다.

 

[결과]

 

 

 

[코드]

 

#include <iostream>

int main()
{
	std::cout << "Hello";
	std::cout << "World!" << endl;
	std::cout << "Hello World!" << endl;
	std::cout << "Hello\tWorld!" << endl;
	std::cout << "Hi\tWorld!" << endl;
	
	return 0;
}

 

 

 

 

 

(2) 입력

 

cin >> 을 쓰면 입력을 받을 수 있다.

 

 

[결과]

 

 

 

 

[코드]

 

#include <iostream>

int main()
{
	int x = 1;
	
	std::cout << "Before X is " << x << endl;

	//x 값 입력받기
	std::cin >> x;

	std::cout << "Now X is " << x << endl;
	
	return 0;
}

 

 

 

 

 

 

3. nameSpace와 함수(function)

using namespace std;를 붙히면 그 스코프 안에서는 ( { } 를 말함)

cout 앞에 std:: 부분을 빼고 쓸 수 있다.

 

 

함수는 return 해줄 값의 자료형과 함수의 이름으로 만들 수 있다.

return 해줄 값이 없을 땐 void 로 선언 한다.

 

코드를 순서대로 읽기 때문에 main을 맨 밑에 두거나

main 위에 함수를 선언하고 main 밑에는 선언된 함수의 정의를 써서 사용한다.

 

 

 

(1) main을 밑에 둘 때

 

 

 

 

 

 

(2) 선언 & 정의

 

 

코드가 길어 지면 선언되어 있는 함수에 마우스 우클릭 하고

'Go To Definition'을 눌러 바로 정의된 코드 부분으로 갈 수 있다.

 

 

 

[결과]

 

 

 

 

[코드]

#include <iostream>

int addNum(int a, int b); //forward declaration

int main()
{
	using namespace std;

	cout << addNum(3, 4)  <<  endl;
	
	return 0;
}

//definition
int addNum(int a, int b) {
	return a + b;
}

 

 

 

 

 

 

(3) namespace를 이용해서 같은 이름의 함수를 쓸 수 있다.

 

[결과]

 

 

 

[코드]

 

#include <iostream>
using namespace std;

namespace Myspace1
{
	namespace inspace
	{
		int TwoNumbers(int num_a, int num_b)
		{
			int mul = num_a * num_b;
			//출력 값을 돌려줌
			return mul;
		}
	}
}

// 함수 (인수를 넣어줌)
int TwoNumbers(int num_a, int num_b)
{
	int sum = num_a + num_b;
	//출력 값을 돌려줌
	return sum;
}

int main(void)
{
	int x = 0;
	cout << Myspace1::inspace::TwoNumbers(3, 4) << endl;
	cout << TwoNumbers(3,4) << endl;
	return 0;
}

 

 

 

 

 

 

 

(4) using namespace를 이용해서 Myspace1::를 빼고 쓸 수 있다.

 

[결과]

 

 

 

[코드]

 

#include <iostream>
using namespace std;

namespace Myspace1
{
	int TwoNumbers(int num_a, int num_b)
	{
		int mul = num_a * num_b;
		//출력 값을 돌려줌
		return mul;
	}
}


int main(void)
{
	using namespace Myspace1;
	cout << TwoNumbers(3, 4) << endl;

	return 0;
}

 

 

 

 

4. 매크로

- 여러번 사용하게 될 상수를 문자로 표현하여 변경시에도 편리하게 사용할 수 있도록 하는 것이다

- 이러한 매크로 상수는 컴파일 전에 전처리기에 의해서 숫자로 치환 된다.

 

#define 을 통해 매크로를 설정 할 수 있다.

 

 

[결과]

 

 

 

[코드]

 

#include <iostream>
using namespace std;

#define MY_NUM 3;

int main()
{
	cout << MY_NUM ;

	return 0;
}

 

>> 본 게시글은 "홍정모의 따라하며 배우는 C++ 강의를 보고 정리한 내용 입니다 <<

BELATED ARTICLES

more