달력

8

« 2020/8 »

  •  
  •  
  •  
  •  
  •  
  •  
  • 1
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  
  •  
  •  
  •  
  •  
2019. 5. 29. 09:40

C Development/C/C++

   

C

·       미국 AT&T사의 (Bell) 연구소에서 만들었습니다.

·       데니스리치(Dennis Ritchie)

·       프로그램의 이식성을 높이기 위해 개발되었습니다.

   

   

   

'Development > C/C++' 카테고리의 다른 글

정적 바인딩(Static Binding) vs 동적 바인딩(Dynamic Binding)  (0) 2019.07.08
C 언어 특징, C언어 계열(C, C++, C#) 장단점, C vs JAVA  (0) 2019.06.06
C  (0) 2019.05.29
반복문  (0) 2019.05.28
비트 연산자(bitwise operator)  (0) 2019.05.28
비트(Bit)  (0) 2019.05.27
Posted by codedragon codedragon

댓글을 달아 주세요

2019. 5. 28. 09:24

반복문 Development/C/C++


 

반복문

·       조건이 만족될 어떤 행동을 반복적으로 수행하는 문장

·       특정 부분을 조건이 만족할 때까지 실행하도록 하는 명령문

·       반복할 문장을 원하는 만큼 반복

·       반복횟수 검증하여 정확한 로직 구현 여부 확인해야 합니다.

·       FORTRAN do문이 시초가 되었으며, 최근에는 while문과 for문이 주로 사용됩니다.

 

 

 


'Development > C/C++' 카테고리의 다른 글

C 언어 특징, C언어 계열(C, C++, C#) 장단점, C vs JAVA  (0) 2019.06.06
C  (0) 2019.05.29
반복문  (0) 2019.05.28
비트 연산자(bitwise operator)  (0) 2019.05.28
비트(Bit)  (0) 2019.05.27
바이트(byte)  (0) 2019.05.27
Posted by codedragon codedragon

댓글을 달아 주세요


 

비트 연산자(bitwise operator)

·       Bit Operator

·       피연산자 연산의 대상이 되는 값들을 내부적으로 bit(비트)단위 변경한 연산을 수행하는 연산자입니다.

·       논리 연산자와 비슷하지만, 비트(bit) 단위로 논리 연산을 수행합니다.

·       0 1 자리에 대한 연산을 수행하며, 0 또는 1 결괏값을 가진다.

·       하드웨어와 관련된 처리를 쉽게 해줍니다.

·       메모리 공간을 줄여서 성능을 높여 있습니다.

 

 

 

'Development > C/C++' 카테고리의 다른 글

C  (0) 2019.05.29
반복문  (0) 2019.05.28
비트 연산자(bitwise operator)  (0) 2019.05.28
비트(Bit)  (0) 2019.05.27
바이트(byte)  (0) 2019.05.27
fread( ) 함수와 fwrite( ) 함수 - 바이너리 파일 입출력  (0) 2019.05.26
Posted by codedragon codedragon

댓글을 달아 주세요

2019. 5. 27. 09:14

비트(Bit) Development/C/C++


 

비트(Bit)

·       Binary Digit

·       컴퓨터를 이해하기 위한 가장 기본적인 단위

·       컴퓨터는 모든 정보를 0 1 표현

·       비트는 2진수 하나(0 또는 1) 저장 있는 최소 메모리 공간

·       0 1로만 구성된 이진법(ex. 101001) 이용하며, 컴퓨터 이용 흔히 접할 있는 1바이트(Byte) 8비트(Bit) 의미합니다.

·       1바이트(byte) 8비트(bit)

 

 

 

1bit

2bit

3bit

4bit

5bit

6bit

7bit

8bit

9bit

nbit

21 =  2

22 = 4

23 =8

24 = 16

25 =32

26 = 64

27 = 128

28 = 256

29 = 512

2n =n

 


 


https://en.wikipedia.org/wiki/Bit

http://bit.ly/2CjVur0

 


'Development > C/C++' 카테고리의 다른 글

반복문  (0) 2019.05.28
비트 연산자(bitwise operator)  (0) 2019.05.28
비트(Bit)  (0) 2019.05.27
바이트(byte)  (0) 2019.05.27
fread( ) 함수와 fwrite( ) 함수 - 바이너리 파일 입출력  (0) 2019.05.26
feof( ) 함수 - 파일의 끝을 확인  (0) 2019.05.17
Posted by codedragon codedragon

댓글을 달아 주세요

2019. 5. 27. 09:12

바이트(byte) Development/C/C++

   

  

 

바이트(byte)

·       컴퓨터가 데이터를 다루는 기본 단위

·       1바이트는 8비트로 취급

·       1바이트는 8개의 0 1 구성된 데이터 덩어리

 

2진수

10진수

0001 0001

17

 


 

 

 

 

   




 

 

비트(Bit) 바이트(Byte) 관계

구분

설명

바이트

1Byte(B) = 8bit

1bit = 0.125B

킬로바이트

1kilobyte(KB) = 8,192bit

1bit = 0.000122KB

메가바이트

1megabyte(MB) = 8,388,608bit

1bit = 1.1921e-7MB

기가바이트

1Gigabyte(GB) = 8.5899e + 9bit

1bit = 1.1642e-10GB

테라바이트

1Terabyte(TB) = 8.7961e + 12bit

1bit = 1.1369e-13TB

페타바이트

1Petabyte(PB) = 9.0072e + 15bit

1bit = 1.1102e-16PB

엑사바이트

1Exabyte(EB) = 9.2234e + 18bit

1bit = 1.0842e-19EB

 

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

fwrite()함수

바이너리 파일 출력을 지원하는 함수

   

   

함수 원형

함수의 원형

기능

헤더파일

size_t fwrite(const void* buffer, size_t size, size_t count, FILE* stream);

  • buffer에 저장된 데이터를 파일에 출력
  • 호출 성공: count(반복 횟수) 반환
  • 호출 실패: count보다 작은 값 반환

       

      

stdio.h

   

매개변수 설명

buffer

출력 데이터를 저장한 버퍼를 가리키는 포인터

size

한번에 출력할 데이터의 바이트 크기

count

반복 횟수

stream

파일 출력 스트림

   

   

fread()함수

바이너리 파일 입력을 지원하는 함수

함수의 원형

기능

헤더파일

size_t fread(void* buffer, size_t size, size_t count, FILE* stream);

  • 파일로 부터 바이너리 데이터를 받아 buffer로 입력
  • 호출 성공: count(반복 횟수) 반환
  • 호출 실패: count보다 작은 값 반환

stdio.h

   

   

매개변수 설명

buffer

  • 파일로 부터 입력 받은 데이터를 저장하는 버퍼를 가리키는 포인터
  • buffer가 void*(void형 포인터)인 이유는 어떤 유형의 buffer를 사용할지 자유롭게 선택

size

  • 한번에 입력받을 데이터의 바이트 크기

count

  • 입력 회수

stream

  • 파일 입력 스트림

 

Posted by codedragon codedragon

댓글을 달아 주세요

   

feof( ) 함수를 사용하는 이유

   

파일의 끝을 확인하는 다양한 표현

함수

파일의 끝에서 반환하는 값

fgetc( )

EOF(-1)

fgets( )

NULL(0)

fscanf( )

EOF(-1)

   

파일 끝에서 반환하는 값 사용시 단점 및 해결

단점

파일 끝에서 반환되는 값을 일일이 기억하는 것 불편

해결방법

feof()함수를 사용

   

   

파일의 끝을 검사하는 feof()함수

함수 원형

설명

헤더파일

int feof(FILE* stream);

  • 파일의 끝에 도달했는지 아닌지를 검사
  • 파일의 끝에 도달 : 0이 아닌 값 반환
  • 파일의 끝에 도달하지 못한 경우 : 0 반환

stdio.h

   

Posted by codedragon codedragon

댓글을 달아 주세요



 

매크로 상수의 정의

#define PI 3.14

 

전처리기 지시자

#define

매크로 상수를 선언하기 위해서 #define 지정

매크로 상수 이름

PI

매크로 상수의 이름을 지정

치환값

3.14

매크로 상수에 치환되는 지정

 

 

 

 

매크로 상수의 장점

·         프로그램 수정이 용이합니다.

·         숫자 대신에 직관적인 의미를 갖는 이름을 부여할 있습니다.

·         변수와 달리 추가적인 메모리 공간을 요구하지 않습니다.

·         코드에 등장하는 상수들을 한곳에 모아서 관리할 있습니다.

 

 

 

 

매크로 상수의 해제

#undef PI

 

전처리기 지시자

#undef

매크로의 선언을 해제하기 위해서 #undef 지정

해제할 매크로 이름

PI

해제할 매크로 이름 지정(미리 정의된 매크로 상수)

 

 


Posted by codedragon codedragon

댓글을 달아 주세요

   

매크로 함수

#define MULTI(a, b) a*b

   

전처리기 지시자

#define

매크로 함수를 선언하기 위해서 #define을 지정

매크로 함수 이름

MULTI(a, b)

사용될 매크로 함수의 이름을 지정

함수의 기능

a*b

매크로 함수 이름에 치환되는 함수의 기능

   

   

매크로 함수 특징

  • 단순히 치환하기만 하므로 실제 함수는 아닙니다.
  • 매개변수의 자료형을 신경 쓰지 않음(자료형의 독립성 보장)

   

   

매크로 함수의 장/단점

장점

  • 함수의 인자(매개변수)에 대한 자료형의 독립성 보장
  • 속도가 빠름

단점

  • 매크로 함수 내부에서 자기 자신을 호출할 수 없음
  • 한 줄이나 두 줄 정도의 간단한 내용만 매크로 함수로 정의해야 함

 

Posted by codedragon codedragon

댓글을 달아 주세요



 

 

오류메시지

Error        C1010        unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?

Severity        Code        Description        Project        File        Line        Suppression State

Error        C1010        unexpected end of file while looking for precompiled header. Did you forget to add '#include "stdafx.h"' to your source?        ch-basic        c:\codelab\git_study\study_cpp\ch-basic\ch-basic\ex05.cpp        44        

 

 

 


 

 

 

 

 

오류 원인

·         VisualStudio 있는 VC++외의 다른 컴파일러에서 빌드한 경우 발생할 있습니다.

·         다른 스타일로 작성된 라이브러리를 링크하면 에러가 발생할 있습니다.

·         빠른 빌드를 위한 PCH (precompiled header) 설정시 에러가 발생할 있습니다.

 

 

 

 

 

 

해결 방법

VS 메뉴: [Project] >> [ProjectName Properties...] >>

왼쪽 [Configuration Properties] > [C/C++] > [Precompiled Headers]


 

 

오른쪽 창의 "Precompiled Header"

[Use (/Yu)] [Not Using Precompiled Headers] 변경합니다.


 

 

 

Posted by codedragon codedragon

댓글을 달아 주세요