C언어 Chapter 12. ✨ 메모리 뷰어를 컴파일 디버그로 보기 복습 🎯 비트 논리 연산자 & : 비트로 세분화(2진수) 하여 한자리씩 and논리 연산. ^ : 비트로 세분화(2진수) 하여 한자리씩 xor 논리연산. 두개의 값이 서로 다를 때 참이다. | : 비트로 세분화(2진수) 하여 한자리씩 or 논리연산. Ex) 24 | 32 11000 100000 111000 포인터 함수 구성 &(ampersand) 는 주소연산자이다. &x는 변수가 할당받은 메모리의 주소를 말한다. 형식지정자 %p는 주소를 출력할 때 사용. printf("the address of x: %p\n", &x); 출력문으로 x가 할당받은 메모리의 주소는 0012FF7C 라는 것을 알 수 있다. 주소 연산은 덧셈( + )과 뺄셈( ..
C언어 Chapter 11. IEE 754 표준방식 컴파일 실행 과정의 에러 Type iNum = 3; 3의 type : int 형 대입연산자 (좌측) : int형 1. 2. 과정을 비교 : 형동등성 (1. 2. 3에서 발생 에러 type : Compile time error) 심볼 테이블 Type Name Address int iNum 2000 대입 : iNum의 메모리 위치 : 2000번지 (발생 에러 type : Run time error ) Compile time error 종류 전처리 과정 에러 C문법 에러 링크 에러 🔔 예) 전처리 과정 에러 #include 에서 i를 빼먹었을 때 결과 : directive(지시자) error 🔔 예) C문법 에러 return 0의 세미클론(;)을 빼먹었을 때..
C언어 Chapter 10. 포인터 💡 컴파일은 Visual C++ 6.0 버전을 사용하였다. 변수의 값과 주소 심볼 테이블과 변수 x의 메모리 할당. 심볼테이블에는 변수의 이름과 자료형, 그리고 이 변수가 할당받은 메모리의 주소가 기록된다. 변수가 할당받은 메모리 공간에는 변수의 값이 들어간다. 선언된 직후에는 변수가 무슨 값을 가지고 있는지 알 수 없기 때문에 미정값을(undefined valued)으로 부른다. x = 25; 변수 x를 초기화 시킴으로 변수의 메모리주소 값은 아래와같다. 변수 초기화 후의 메모리 Visual C++ Debug 모드에서 메모리 주소값 알아보는 법 💡 Debug 모드는 원하는 지점에 F9키로 break 포이트를 찍고 F5키로 진입한다. Watch 에 엔퍼센트(&)를 붙여..
C언어 Chapter 9. switch 문을 if-else 문으로 대체하는 방법 switch 문은 범위를 지정할수없고 일정한 숫자를 입력받아 결과를 선택한다. 10번째줄의 score = score / 10; 소스코드가 이 프로그램의 알고리즘이다. score에 들어갈 값을 10을 나누어 줌으로써 코드의 양을 줄였다. 🔔 예) switch 문으로 만든 학점계산 프로그램 switch 문과 달리 if – else 문은 범위를 지정할수있다. 결과는 위소스 와 동일하다. 🔔 예) 위 switch 문 과 같은 소스를 if – else 문으로 대체한 소스코드 💡 Tip ? switch 문과 if-else 문은 상황에 따라 선택하여 사용한다. 어떤 함수를 사용함에 따라 상황에따라 프로그램이 느려질수도 빨라질 수 도 있다..
C언어 Chapter 8. 목차 switch() 문 📌 switch 문은 괄호속의 정수식의 값과 case 다음의 정수 값을 차례로 비교하여 일치할 경우 해당 case 문과 그다음 모든 case 문들이 실행된다. 그러므로 각 case 문은 break 문으로 실행을 중단시킨다. switch 문 뒤의 괄호 속에 정수값을 가지는 변수또는 수식이 올수있다. int형이나 char 형이 올수있지만, 실수형은 올 수 없다. switch 문의 실행부는 중괄호에 둘러싸인다. 각 case 문은 case로 시작하여 정수값을 가지는 상수와 클론 (:위치정보 = 라벨)이 오고 그 뒤에 명령문들이온다. (아래로 내려 들여쓸것) 각 case 문의 클론 다음에 오는 명령문이 복합문일 경우에도 중괄호로 둘러싸지 않는다. case 문의 ..
C언어 Chapter 7. 제어문 선택문 - if if 문은 선택문의 형태로 주어진 조건이 만족할경우 실행된다. if (논리식) 명령문 🔔 예) if 문을 사용하여 키보드로 입력받은 두수 중 큰 수를 화면에 출력하는 프로그램. #include int main() { int num1, num2, bigger; printf("Please enter two integers: "); scanf("%d %d", &num1, &num2); bigger =num1; if (num1 < num2) // if()
C언어 Chapter 6. 캐스트(cast) 연산자 산술연산에서 int +float 는 컴파일이 자동적으로 int 형을 float 형으로 변환시켜 수행한다. (묵시적 캐스팅) a = (float)int + float 에서 괄호안에 float를 넣어 int 를 float로 변환시켜 연산을 수행할수도 있다. (명시적 캐스팅) 💡 cast 연산자는 ()보다 우선순위가 낮다 c = a(char) + b(int) 일때 char를 int로 바꾸어 연산한다. (상향 캐스팅) A(char) = B(int) 일때 int 가 char 로 변환된다. (하향 캐스팅) 🔔 예) 명시적 형변환이 필요한 산술식의 계산 프로그램 #include int main() { int intA = 14, intB = 3; float float..
C언어 Chapter 5. escape sequence 🔔 예) 개행문자의 사용법 #include int main() { printf("10진수 65: %c\n", 65); // A 문자 printf("16진수 40: \x40\n"); // @ 문자 printf("8진수 73: \073\n"); // 세미클론 printf("백슬래쉬 \\, 작은 따옴표 \', 큰따옴표 \" \n"); printf("2 bell sound \a\a\n"); return 0; } 결과 : 문자열 문자열은 하나 이상의 연속된 문자를 말한다. 문자열은 ( " ??? ??? " ) 큰따옴표로 표시한다. "This is a string." 한셀당 1byte 에 해당하며 한문자를 저장한다. 맨 마지막 셀은 \0 문자(NULL 문자: ..