필기 내용은 인프런의 홍정모의 따라 하며 배우는 C++ 강의와 MBC메타버스 개발자 과정을 진행하며 정리한 내용입니다.
변수
#include <iostream>
using namespace std;
int main()
{
int x = 0;
cout << x << " " << &x << endl;
{
//int x = 1;
x = 1;
cout << x << " " << &x << endl;
}
cout << x << " " << &x << endl;
return 0;
}
x를 처음에 선언하고 후에 선언을 하지 않는다면 값은 바뀌지만 주소는 동일하다.
또한, 세개의 x는 같은 메모리주소를 가르키고 있다.
예제
#include <iostream>
using namespace std;
void doSomething(int x)
{
x = 123;
cout << x << endl;
}
int main()
{
int x = 0;
cout << x << endl;
doSomething(x);
cout << x << endl;
return 0;
}
0
123
0 의 출력결과가 나온다.
main에서 x=0으로 선언후 0출력, doSomething(int x)에서 함수로 진입해 123을 출력한후,
다시 함수를 나와서 0으로 회귀한 값을 출력한다.
연산자
#include <iostream>
using namespace std;
int main()
{
int x = 2;
int y = (x > 0) ? 1 : 2;
cout << y << endl;
return 0;
}
int y = ( x > 0) ? 1 : 2;
x가 0보다크니? → 참이면 왼쪽의 1의값출력, 거짓일경우 오른쪽의 2를 출력하는
3항연산자이다.
출력결과는 1이나온다.
선언
#include <iostream>
using namespace std;
int add(int a, int b); //전방선언 (foward declaration)
int multiply(int a, int b);
int subtract(int a, int b);
int main()
{
cout << add(1, 2) << endl;
cout << subtract(1, 2) << endl;
return 0;
}
//definition
int add(int a, int b)
{
return a + b;
}
int multiply(int a, int b)
{
return a * b;
}
int subtract(int a, int b)
{
return a - b;
}
컴파일러는 순차적으로 내려가기때문에 전방선언을 통해 무슨 함수들을 쓰는지 미리 알려준다. 반대로 main함수를 먼저 쓰고 함수들을 main함수밑에 위치시키면, 컴파일러에서 오류가난다.
또한 선언이나 정의에 우클릭을하여
(Peek declaration, go to definition, go to declaration)
편리하게 선언이나 정의로 이동하거나 정의를 비춰줄 수 있다.
'개발 > C++' 카테고리의 다른 글
[C++] 2.4 리터럴 상수, 심볼릭 상수 (0) | 2023.06.12 |
---|---|
[C++] 2.3 불리언 자료형과 if문, 문자형(Char) [캐스팅, 버퍼, limits] (0) | 2023.06.01 |
[C++] 2.2 부동소수점 (0) | 2023.06.01 |
[C++] 2.1 자료형, 정수형, 고정너비 정수, 무치형(Void) [auto, 초기화, 오버플로우, void] (0) | 2023.05.31 |
[C++] 1.2 헤더파일과 헤더가드 [#pragma once] (0) | 2023.05.31 |