본문 바로가기
반응형

전체 글58

C++에서 NULL , NUL, 0, \0 의 차이 1. 0 그냥 정수 상수 literal 0.타입은 int.포인터 문맥에서는 null pointer 상수로도 해석될 수 있음int* p = 0; // p는 nullptr과 같은 의미 2. ' \0 '문자 상수.실제 값은 0을 가진 char.문자열 종료 문자(NUL character)를 표현할 때 쓰임.char c = '\0'; // c == 0const char* s = "Hi"; // s는 'H' 'i' '\0' 로 끝남 예를 들어 char str[6] = "Hello"; // 'H' 'e' 'l' 'l' 'o' '\0' 이렇게 이루어져 있음.char str[6] = "Hello\0"; // 에러 'H' 'e' 'l' 'l' 'o' '\0' '\0' 총 7개의 문자가 들어가야 하지만 공간이 6개.. 2025. 9. 27.
C++ 연산자 우선 순위 연산자 우선 순위 표우선순위 (높음→낮음)연산자결합 방향설명1(), [], ., ->왼→오함수 호출, 배열첨자, 멤버 접근2++ -- (후위), 형변환 (type), sizeof왼→오후위 증감, 타입 캐스트3++ -- (전위), +(단항), -(단항), !, ~오른→왼단항 연산자4*, /, %왼→오곱셈, 나눗셈, 나머지5+, -왼→오덧셈, 뺄셈6>왼→오비트 시프트7, >=왼→오관계 연산자8==, !=왼→오같음, 다름9&왼→오비트 AND10^왼→오비트 XOR11|왼→오비트 OR12&&왼→오논리 AND13||왼→오논리 OR14?:오른→왼삼항 연산자15=, +=, -=, *=, /=, 등오른→왼대입, 복합 대입16 ,왼→오콤마(순차 평가) 결합 방향결합 방향은 우선 순위가 같은 연산자가 여러개 나열되었을 때,.. 2025. 9. 21.
타입 승격 (Type Promotion) 타입 승격은 연산이나 함수 호출 과정에서 더 작은 범위나 낮은 정밀도의 타입이 자동으로 더 큰 범위나 높은 정밀도의 타입으로 바뀌는 것이라고 정의한다. 정수 승격char c = 100;cout bool, char, short 같은 작은 정수형은 산술 연산에 들어가면 자동으로 int로 변환된다. 산술 변환 (int 형 변수끼리 / 나눗셈 연산을 할때)int a = 1, b = 3;// 1.cout 1의 경우당연히 int는 정수이기 때문에 정수 부분만을 출력한다. 2, 3의 경우int 형 a, b 중 하나라도 double 형으로 형 변환을 했을 때 double로 변환하여 결과 값을 출력한다.4의 경우이미 계산된 결과 값을 double로 형 변환을 하기 때문에 0이라는 결과가 출력된다. C++ / Jav.. 2025. 9. 21.
C++ 특정 문자 사이 값 입력받기 예를 들어 '2017:05:03' 혹은 '2020-01-01' 이라는 입력을 받아야 한다라고 하면 보통 다른 프로그래밍 언어들에서는 split 함수를 이용한다. 하지만 c++에서는 간단하게 문제를 해결할 수 있다. 예시 1 (char a를 이용한 방법)int year, month, day;char a;cin >> year >> a >> month >> a >> day;cout 예시 2 (cin.get()을 이용한 방법)int year, month, day;cin >> year;cin.get();cin >> month;cin.get();cin >> day;cout 이렇게 쉽게 값들을 나눠서 받으면 굳이 split을 안써도 되면서 '2017:05-03' 이라는 입력 또한 쉽게 해결할 수 있다. 2025. 9. 20.
반응형