본문 바로가기

BackEnd/C

sizeof 연산자 sizeof 연산자란? 피연산자의 크기를 바이트 단위로 계산해서 반환하는 연산자이다. 배열에 들어가게되면 매우중요한 연산자로서의 역할을 하게 된다. 피연산자로는 상수,변수,자료형의 이름도 올 수 있다. 123456789101112131415int main(void){ int num = 1234; printf("size of num: %d \n\n", sizeof(num)); printf("size of 1234: %d \n", sizeof(1234)); printf("size of 1234.0: %d \n", sizeof(1234.0)); printf("size of 0.1234: %d \n\n", sizeof(0.1234)); printf("size of char: %d \n", sizeof(char)..
자료형 변환 연산자 1. 자료형 변환 연산자란? 말 그대로 자료형을 변환 시키는 연산자이다. 형 변환 연산자로 많이 불리며 데이터의 표현 방식을 바꾼다. 2. 예시 1 int형 상수 3을 double 형 상수 3.0으로 변환 double형 상수 3.14를 int형 상수로 변환 여기서 한가지 주의할점은 정수 3을 실수 3.0으로 바꾼다 해도 데이터 손실을 발생안한다. 숫자 3을 double형으로 충분히 표현가능하기 때문이다. 그러나 실수 3.14는 에서 소수점 이하는 정수로 표현이 불가능하기 때문에 int형 데이터로 변환할 경우 소수부가 잘려나가 정수 3이된다. 3. 예시 2 피연산자로는 상수도 올 수 있지만 변수도 올 수 있다. 위에서 n1의 값이 double형으로 변환되는 것이 아니라, n1의 값을 참조하여 double ..
관계연산자와 논리연산자 1. 관계연산자(비교 연산자) 관계연산자는 크기 및 동등 관계를 따지는 연산자이다. 즉 두 피연산자의 크기 관계를 따져주는 이 항 연산자이다. 따라서 비교 연산자라고도 한다. 두 피연산자의 값을 비교하기 때문이다. 참이면 1을, 거짓이면 0을 반환한다. 0이외의 모든 값은 참을 의미한다. 2. 논리연산자 논리 연산자 역시 참과 거짓을 따지는 연산자로서 AND(논리곱), OR(논리합), NOT(논리부정)을 의미하는 연산자로서 구성되어 있다. 위 연산자들 모두 연산의 결과로 참 또는 거짓을 반환한다. 그리고 이들 연산결과를 나타낸 표 를 가리켜 진리표라 하는데 아래는 진리표이다. 아래는 논리연산의 예를 보여준다. 두번의 관계연산이 참이되어 1을 반환했다. 그 후 논리연산의 피연산자가 둘 다 1이여서 논리 연..
다양한 연산자들의 소개 1. 복합 대입 연산자 복합 대입 연산자는 다른 연산자와 묶여서 정의된 연산자이다. 2. 부호 연산자로서의 + 와 - 피연산자가 하나인 단항 연산자로서의 +,- 연산자에 대해 살펴보자 1) 부호 - 연산자 - 단항 연산자로서 부호를 바꾸는 역할을 한다. 2) 부호 + 연산자 - 단한 연사자로서 아무런 기능을 제공하지 않는다. - 그러면 연산자로 존재하는 이유는? 컴파일 오류를 발생시키지 않기 위해서이다. - +125와 같은 표현함으로써 음수가 아님을 강조하기도 한다. 3. 증가,감소 연산자(++,--) : prefix - 전위 증감 4. 증가,감소 연산자(++,--) : postfix - 후위 증감 5. prefix와 postfix의 비교 아래 그림을 보면 피연산자에 저장된 값을 1증가시키는 것은 같으나..
연산자들의 우선순위와 결합방향 1. 연산의 순서를 결정하는 2가지 요소 1) 우선순위: 연산자들 사이에서의 연산순서 결정요소 2) 결합방향: 우선순위가 같은 연산자들 사이에서의 연산순서 결정요소 - 우선순위가 같으면 결합방향도 같다. 덧셈과 뺄셈보다는 곱셈과 나눗셈이 먼저계산된다. 이것이 연산자의 우선순위이다. 뺄셈은 왼쪽에서부터 순서대로 계산한다. 이것이 결합방향이다. 2. 연산자의 우선순위와 결합방향 3. 연산의 순서를 조절하는 구분자 소괄호 - 연산자가 아닌 구분자이다. - 연산의 대상을 별도의 단위로 구분시키는 구분자. - 때문에 소괄호 내에 존재하는 연산문에서 하나의 연산 결과를 구성
산술 연산자를 통해서 보는 연산의 원리 1. 연산자란? cpu에게 연산을 시키기 위해서 정의한 기호를 가리켜 연산자라 한다. 2. c언어의 연산자(대입연산자, 산술연산자) 두개의 피 연산자를 필요로 하는 연산자를 이항 연산자라 하는데, 대입 연산자와 산술 연산자는 모두 이항 연산자에 속한다. - % 연산자의 피연산자는 반드시 정수형이어야 한다. 3. 연산사 예시 코드 - 12,13,14행을 보면 먼저 연산을 실행한후에 printf문이 실행된다. - 13행에서 연산결과의 자료형은 피연산자의 자료형과 일치한다. 1234567891011121314151617int main(void){ int n1 = 7; int n2 = 3; int result = n1 + n2; printf(" 덧셈 결과: %d \n", result); result = n1 -..
상수의 이해 1. 상수의 연산 처리 과정 int main(void){ int n;n=2+5;} 이 처리 과정을 상수적 접근 방법 으로 봐보자 2,5가 인식이 되서 연산이 될려면 메모리 공간이 할당되고 2,5가 저장되어야한다. cpu는 메모리에서 이 값을 가져가다 연산하는것이다. 2. 상수의 자료형 결정 그래서 2,5와 같은 상수를 저장할때도 자료형이 결정된다. 자료형에는 2가지가 담겨있다. 1) 저장방식: 상수를 저장할때도 방식이 정수 형태인지,실수형태등으로 저장 할건지를 정하고 2) 저장크기: 저장크기 1,4,8 byte등 크기가 결정 된다. int main(void){int n;double d; n = 2+5; // 정수는 int 자료형 결정됨d = 1.2 + 2.4; // 실수는 double형으로 결정됨} 3...
상수의 표현 1. 상수의 이해 변수는 변경이 가능한 수를 의미하는 반면, 상수는 변경이 불가능한 수를 의미한다. 위 예시를 보면 2+5를 연산을 위해서는 cpu에 의해서 상수 2와 5가 인식이 되어야 한다. 그러기 위해서는 2와5라는 상수 값이 메모리공간 어딘가에 저장이 되어야 한다. 왜냐하면 cpu는 메모리 공간에 저장된 값을 가져다가 연산을 하는 것이기 때문이다. 2. 상수를 저장하기 위한 자료형의 결정 그렇다면 위와 같은 상수를 저장하기 위해서는 변수 처럼 자료형이 결정되어야 한다. 상수의 자료형의 결정은 다음 2가지로 나눌 수 있다. 1) 정수인지? 실수인지?2) 저장크기가 몇인지? 결론적으로 상수 같은 경우 이러한 자료형은 알아서 결정된다. 정수형 상수는 int 로 실수형 상수는 double 로 약속해서 표..