목록c (50)
Nagie's DevStory
우선순위 연산자 연산 유형 결합 법칙 1 순위 [ ] 식 , 배열첨자 왼쪽에서 오른쪽 ▶ ( ) 식 , 함수호출 . 구조체 / 공용체 멤버 호출 -> 구조체 / 공용체 멤버 호출 ( 포인터 ) ++ ( 후위 ) 증가 연산 -- ( 후위 ) 감소 연산 2 순위 sizeof 자료형의 크기 오른쪽에서 왼쪽 ◀ & 주소 참조 * 포인터 참조 + 단항 덧셈 - 단항 뺄셈 ~ 비트 NOT ! 논리 NOT ++ ( 전위 ) 증가 연산 -- ( 전위 ) 감소 연산 3 순위 * 곱셈 왼쪽에서 오른쪽 ▶ / 나눗셈 % 나머지 4 순위 + 덧셈 왼쪽에서 오른쪽 ▶ - 뺄셈 5 순위 오른쪽으로 비트 쉬프트 6 순위 큼 ( 논리 ) = 크거나 같음 ( 논리 ) 7 순위 == 같음 ( 논리 ) 왼쪽에서 오른쪽 ▶ != 다름 ( ..
우리가 수학 문제를 풀 때 사용하는 기호를 C에선 연산자라고 부른다. 연산자도 여러 가지 종류가 있으며 수학의 기호처럼 연산자 역시 계산 우선순위가 있다. 구분 연산자 기능 대입 연산자 = 오른쪽 값을 왼쪽으로 대입 산술 연산자 + 더하기 - 빼기 * 곱하기 / 나누기 (몫) % 나머지 관계 연산자 좌변이 우변보다 크면 참 = 좌변이 우변보다 크거나 같으면 참 == 좌변과 우변이 같으면 참 != 좌변과 우변이 다르면 논리 연산자 && 양변이 모두 참이면 참 (AND) || 양변중 하나라도 참이면 참 (OR) ! 참이면 거짓 거짓이면 참 (NOT) 복합 대입 연산자 += 양변을 더한 값을 좌변에 대입 -= 양변을 뺀 값을 좌변에 대입 *= 양변을 곱한 값을 좌변에 대입 /= 양변을 나눈 값(몫)을 좌변에 ..
앞글에서 변수와 상수의 사용법을 설명과 함께 알아봤다. 변수와 상수를 사용하다 보면 정수뿐만 아니라 실수 또는 문자나 문자열까지 담아야 할 상황이 생긴다. 상황에 맞게 값을 저장하려면 내가 담으려는 값의 타입이 어떻게 되는지 알고 있어야지 손실 없이 불러오고 저장을 할 수 있을 것이다. 데이터 타입 ( Signed ) 용량 저장 범위 정수 short 2Byte (16bit) -32,768 ~ 32,767 int 4Byte (32bit) -2,147,483,648 ~ 2,147,483,647 long 4Byte (32bit) -2,147,483,648 ~ 2,147,483,647 long long 8Byte (64bit) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,..
앞서 변수와 상수의 기본 사용법을 알아봤다. 그럼 내가 생성한 변수를 CPU는 어떻게 내가 만든 변수라고 판단하고 데이터를 불러오는 것일까? 눈치 빠른 사람은 전 글에서 예시로든 소스 코드를 보고 알아차렸을 것이다. #include int main () { int A = 10; } 위의 코드를 보면 A라는 이름을 가진 변수를 하나 선언했는데 우리가 일상생활에서 물건을 정리할 때 쓰는 수납 바구니를 생각하면 이해가 빠를 것이다. 수납 바구니에 물건을 정리할때 다른 물건과 뒤섞이지 않게 이름표를 붙여 물건들을 수납하듯 변수도 똑같다. 간단한 예시를 하나 들자면 잘 읽지 않거나 다 읽은 책들을 창고에 넣어야 한다는 상황이라 가정해 보자. 책을 담는 수납용 바구니에 보통은 책만 넣지 다른 물건들을 넣지는 않을 ..
변수는 수정할 수 있는 데이터를 보관하기 위한 상자와 같다. 예를 들어 사과를 담을 수 있는 상자 A가 있다고 가정을 해보자. 상자에 10개의 사과가 있다고 치고 추가로 10개의 사과를 넣게 된다면 상자에 있는 사과의 총개수는 어떻게 될까? 그렇다 사과의 개수는 20개가 된다. 위의 예시를 코드로 나타내면 아래와 같다. #include int main ( ) { int A = 10; A += 10; printf_s("%d" , A); } 이처럼 값을 변경할 수 있는 데이터를 담는 곳을 변수라고 한다. 그와 반대로 값을 변경할 수 없는 데이터를 담는 곳을 상수라고 한다. 그렇다 수학에서 정의하고 있는 '값이 변하지 않는 불변량'과 프로그래밍에서의 상수는 동일한 의미를 가진다. 그러므로 상수는 값을 아무리 ..