new int() 또는 new int{}로 초기화가 가능하다delete ptr;과 ptr = nullptr;은 같이 다닌다. 왜냐하면 할당한 메모리를 해제하면 ptr은 쓰레기값을 가리키는데, 이를 nullptr로 초기화하면 아무것도 가리키지 않아서 ptr은 0의 주소를
typename arr\[5] = {1,2,3,4,5}; 로 초기화가 가능하다.다차원 배열을 초기화할 때 첫번째 row는 생략해도 컴파일러가 알아서 분석하는데, 두번째 column은 생략하면 안됨!!실제 메모리안에서는 1차원적인 배열인데, 우리가 보기편하게 2차원 배열
int x; : int형 메모리의 이름을 x라고 붙이겠다(선언)x = 1; :이름 붙인 x에 1을 assign한다int x = 1; 선언과 할당을 동시에 한 것을 변수의 초기화(initialize to a variable)라 한다.초기화를 하지 않으면 메모리 공간에 쓰
int x = 3이라고 할 때, x를 변수, 3을 literal이라고 한다."Hello,world"처럼 문자열도 리터럴이라 한다. 즉, 리터럴은 고정된 데이터(메모리 위치안의 값)를 의미한다.2+3이 있을 때, 2와 3을 피연산자(operand)라 하며, 피연산자를 연
\`🤔그렇다면 소스파일을 달리하였을 때도 서로 링크가 될까?예상한 바와 같이, "orange"만 출력되어 나온다. 즉, 다른 소스파일끼리는 전처리기가 링크가 되지 않고, 소스파일 내 선언한 전처리기 안에서만 include가 된다는 것이다.
bool형:1byte, char형:1byte, float형:4byte, double형:8byte📢cpp에서는 float,double형 둘다 정수포함해서 6자리까지밖에 출력을 안해준다.그리고 부동소수점 끝에 f를 써야 컴파일러는 float형이라고 인식을 한다.auto형
\---->데이터형에 따라 메모리의 크기는 정해져있는데, 부호를 표현하는 MSB까지 영향이 가서 발생하는 현상이다.오버플로우를 확인하려면 <limits>와 <cmath>라이브러리를 적극 사용하자unsigned int형의 최댓값은 2^32 -1인 4294967
3.14e1이나 3.14e+1이나 결과값은 같다. e는 지수를 나타내는데, 그냥 10의 몇승이 곱해졌다고 보면 된다.setprecision():인자값에 숫자를 넣으면 소수점 자리수를 그만큼 출력한다.d2를 출력해보면 0.99999999999999989가 나온다. 즉,