정수와 실수는 각각 기본적으로 int와 double로 메모리에 저장된다.만약 상수의 자료형을 지정하고 싶다면 값뒤에 다음의 값을 붙이자예시0.31f, 0.33333l, 100,000ull 등 int를 float으로 float을 int로 전달 가능하다cpu가 처리하기
C의 표준 입출력 라이브러리에 대한 정보를 첨가하기 위해 필요한 줄1단계: 전처리(Processing)2단계: 컴파일(Compiling)3단계: 링크(Linking)GCC 컴파일러는 가장 유명한 C 컴파일러중 하나로서, 리눅스에서 제공될 뿐만아니라 다른 수많은 플랫폼에
printf 함수는 문자열을 출력하는 함수로 다음과 같은 형식으로 표현된다.이때 출력되는 값은 상수, 변수, 더 나아가 복잡한 표현식이 될 수 있다. 여러 예시를 살펴보면 %와 알파벳으로 이뤄진 변환규격(conversion specifications) 을 심심치않게 찾
1.산술연산자(Arithmetic Operators) 산술연산자는 단항연산자(Unary)와 이항연산자(Binary)가 있다. 단항연산자는 숫자의 부호를 나타내는 것이고, 이항연산자에는 덧셈, 뺼셈, 곱셈, 나누기, 나머지구하기 등이 있다. 산술연산자를 사용할 때 조심해
논리 표현식(Logical Expressions) 관계연산자 관계연산자에는 `, =` 가 있다. 이 연산자들은 산술연산자들보다 우선순위가 낮다. >[주의] i < j < k 를 보면 j가 i와 k사이에 있는지 확인하는 표현식으로 읽혀진다. 실제로는 아니다. 관계연산자는
1.while문 while문은 다음과 같이 나타내어서 사용한다 while문은 ()내의 표현식이 0이 아닌경우, 즉 거짓이 아닌경우에 뒤에있는 구문을 실행한다. 그리고 구문을 실행 한 뒤에 다시 ()내의 표현식을 점검하고 반복여부를 결정한다. 물론 뒤에 따라오는 구문은
C는 기본적으로 수와 관련하여 두 가지 자료형을 지원한다. 하나는 정수형이고, 하나는 소수형이다. 여기서 정수형은 모든 정수를 말하는 것이고, 소수형은 여기서 소수점 이하부분도 가지게 된다.유부호와 무부호형 정수정수형 자료를 이진수로 나타냈을때, 부호형 정수는 가장 왼
sizeof연산자는 프로그램에서 어떤 자료형이 얼만큼의 메모리를 차지하는지 나타내는 연산자다. 예를들어 sizeof(int)는 4다. sizeof연산자는 상수, 변수, 표현식등에 사용될 수 있다. 만약 표현식에 적용하는 경우, ()는 필요하지 않다. 다만 연산자들끼리의
배열은 임의의 자료값을 포함하고 있는 자료 구조로, 이 자료들은 모두 같은 자료형을 가진다. 가장 간단한 종류의 배열은 1차원 배열이다. 개념상으로 1차원 배열에서는 하나의 행에서 각 열마다 이어서 자료가 나열되어 있다. 배열을 선언하기 위해서 우리는 반드시 배열내에
1. 함수 정의 및 호출 (Defining and Calling Function) 함수 정의(Function Definitions) 함수를 정의 한다는 것은 다음과 같은 형식을 가진다. 여기서 return-type이란 함수가 어떤 자료형의 값을 반환할 지를 말한다.
어떤 변수가 함수 내에서 선언되는 경우, 그 변수는 지역변수라고 불린다. 지역변수는 기본적으로 다음과 같은 특징을 가진다.첫 번쨰는 자동저장기간(auto storage duration)이다. 변수는 저장되어 존재하는 동안, 프로그램의 한 부분이다. 지역변수는 함수가 실
포인터를 이해하기 위한 첫 번째 단계는 포인터가 기계 수준에서 어떤 것을 나타내는 것인지 시각화 하는 것이다. 대부분의 현대 컴퓨터에서, 메모리는 바이트로 나누어져 있다. 그리고 각 바이트는 8개의 비트로 이뤄져 있다. 각 바이트는 구분을 위한 고유의 메모리 주소를
여태까지 \`전처리기의 작동은 전처리 지시자(preprocessing directives) 에 의해 통제된다. \`\`사실 우리가 짠 코드는 바로 컴파일 되는 것이 아니다. 프로그램은 전처리기에 투입되고 전처리기는 프로그램의 지시자들에 따른 명령을 수행한다. 그리고 지
0. 들어가며 여태까지 자세한 설명없이 선언을 사용해왔다. 이번 장에서는 자세한 옵션 사항을 다룰 것이다. 1. 선언 문법 선언이란 컴파일러에게 식별자가 가지는 의미를 제공하는 것이다. 일반적으로 선언은 다음과 같은 형식으로 이뤄진다. 선언지정자는 선언된 변수나 함
KnK 챕터 19
0. 들어가며 동적 할당을 사용하면 프로그램 실행 중에 필요한 메모리 블록을 할당할 수 있다. 동적 할당 구조체를 활용하면 리스트, 트리, 또는 그밖의 여러 데이터 구조를 만들 수 있다. C의 가장 강력한 함수는 함수 포인터를 매개변수로 요구한다.(qsort) 1.

C는 비트 연산자를 통해 정수형 자료를 비트 단위로 다룰 수 있다. 다른 4개의 비트 연산자의 기초가 되는 두 시프트 연산자가 있다.\>>는 좌측 시프트, <<는 우측 시프트 연산자다. 정수형 자료형이 피연산자가 될 수 있다. 두 연산자 모두에서 정수 승격이
C89 표준 라이브러리는 15개로 나뉘며, C99에서는 9개의 헤더가 추가되었다. 물론 그 외에 수많은 라이브러리가 존재하나, 표준은 아니다. 어떤 라이브러리는 실행 환경에 따라 작동 여부가 갈리기도 하기 때문이다.표준 헤더를 포함한 파일에서는 헤더에서 쓰인 이름을 어
0. 서론 C의 입출력 라이브러리는 표준 라이브러리 중에서 가장 중요하고 거대한 라이브러리다. 따라서 이번 문서에서는 를 다루는데 대부분의 분량을 할애할 것이다.(다만 perror 과 같은 함수는 뒤에서 다룰 것이다.) 1. 스트림 스트림(stream) 이란 입력의

이번 장에서는 수, 문자, 문자열과 관련된 지원을 제공하는 가장 중요한 라이브러리 다섯 가지를 살펴볼 것이다.<float.h> 헤더는 float, double, long double 자료형의 범위와 정확성에 대해 매크로 정의를 재공하고 있다.두 개의 매크로가 모든

이번 장에서는 assert 매크로와 errno 변수를 통해 에러를 검사하는 등의 방법을 배울 것이다. 그 외에도 perror과 setrerror도 다룰 것이다.그 다음에는 <signal.h>, <setjmp.h> 를 다룰 것이다. 오류를 감지하고 이를 다루는
\[] 사이에 있는 글자 중 하나와 매치하는지를 나타낸다. 두 문자 사이에 -을 사용하면 두 문자 사이의 범위를 의미한다. \[] 안에는 어떤 메타 문자도 들어갈 수 있으나, ^는 반대를 의미하므로 주의하자..는 줄바꿈 문자인 \\n을 제외한 모든 문자와 매치됨을 의미
0. 서론 1. 프로그램 구조 2. 변수(Variable) 2.1 2.2 변수의 타입 2.2.3 출력 자바에서도 파이썬의 print() 처럼 형식화된 출력을 수행할 수 있다. 지시자(specifier)를 활용하면 변수등을 담아서 출력할 수 있다. 다음은 그 예시다.
1. 클래스와 객체 1.1 인스턴스의 생성과 사용 1.2 객체 배열 많은 객체를 생성할 일이 있을 때 이것을 배열로 다룰 수 있다. 이 때, stuarr에는 아무것도 담기지 않았다. 클래스의 참조변수를 담을 '틀'만을 만들었을 뿐이다. 이를 해결하기 위해 아래처럼
1. 상속 1.1 상속의 정의 >상속이란 기존의 클래스를 재사용하여 새로운 클래스를 작성하는 것이다. >생성자와 초기화 블럭은 상속되지 않는다. 멤버만 상속이 이뤄진다. >따라서 자손클래스의 인스턴스를 생성하면 조상 클래스의 멤버와 자손 클래승의 멤버가 합쳐진 하나