본문으로 바로가기

post by WHITEHATS

웹기반 정보보안 엔지니어 과정 160310 26번째 강의




3.제어문자

•서식 제어 문자 사용
     -제어문자와 대응되는 데이터를 치환하여 입/출력 함
     -제어문자의 종류와 데이터의 종류가 일치 해야 함

     

    
     -제어문자에 대응되는 데이터가 없으면 쓰레기 값 출력
     -데이터에 대응되는 제어문자 없으면 데이터가 입/출력되지 않음

     




4.제어 문자 예제

     


     




4.제어 문자 확장 기호

•출력 형식 지정 제어 문자 확장 기호
     -제어 문자에 의해 출력되는 데이터의 형식을 보다 세부적으로 지정하는 기능
     




4.제어 문자 확장 기호 예제

     


     




4.자료형 변환

•형 변환
     -시스템은 자료형과 크기가 동일한 자료만 처리할 수 있음
     -처리되는 자료형과 크기가 일치하지 않는 경우 자료형이 일시적으로 변경 됨

•묵시적 형 변환
     -시스템에서 데이터 처리를 위해 자동으로 자료형이 변경 됨
     -연산식에서의 자료형 변환
          --서로 다른 자료형의 데이터가 연산처리 될 때 크기가 큰 자료형으로 변환 됨
     -대입식에서의 자료형 변환
          --변수(저장공간)과 값(데이터)의 자료형이 다른 경우 변수(저장공간)의 자료형으로 변환 됨

•명시적 형 변환
     -사용자의 명령에 의해 강제로 데이터의 자료형이 변경 됨
     -cast연산자

     




4.자료형 변환 예제

     

     





5.상수, 변수, 배열



5.Memory

•레지스터(Register)
     -프로세서(CPU)에 위치하는 메모리
     -시스템의 메모리 중 처리속도가 가장 빠름

•스택(Stack) 영역
     -RAM에 위치하는 메모리 영역이며 레지스터 다음으로 처리 속도가 빠름
     -프로세스 동작에 필요한 데이터가 처리되는 저장 공간
     -선입 막출 → FILO(First In Last Out)
     -함수 내부에서 사용되는 지역변수가 생성되는 공간

•힙(Heap) 영역
     -RAM에 위치하는 메모리 영역이며 스택에 비해 처리속도가 느림 → 메모리 할당 시간이 오래 걸림
     -유연성이 높은 구조를 가지므로 원하는 크기의 원하는 공간을 필요에 따라 할당 또는 해제할 수 있음
     -동적 할당으로 생성되는 변수, 배열이 생성되는 공간

•데이터(data) 영역
     -RAM에 위치하는 메모리 영역으로 프로그램이 실행되는 동안 보존해야 할 데이터의 저장 공간
     -문자열, 전역변수 등이 할당되는 공간

•코드(Code 또는 Text) 영역
     -RAM에 위치하는 메모리 영역으로 소스코드 데이터가 저장되는 공간



5.Memory 구조

     




5.상수와 변수

•상수
     -일시적으로 데이터를 저장하는 공간 → 데이터 변경이 불가능 함
     -데이터가 선언되면 메모리에 자료형에 맞는 공간이 자동으로 할당되며 데이터 사용이 끝나면 자동으로 해제 됨

•상수의 종류
     -Literal 상수
          --식별자(이름)이 없는 상수 → 선언된 데이터 값 자체를 의미 함
          --이름이 없기 때문에 한번 지정된 값은 변경이 불가능 함
          --종류
               ---고정 소수점 상수(정수형 상수)
               ---부동 소수형 상수(실수형 상수)
               ---문자형 상수
               ---문자열 상수
      -Symbolic 상수
          --식별자(이름)이 있는 상수 → 변수를 상수로 변경 함
          --Symbolic 상수의 이름은 대문자로 선언 함
          --종류
               ---const 상수
               ---매크로 상수



5.Literal 상수

•고정 소수점 상수
     -소수점을 포함하지 않는 상수 → 정수형 상수
     -10진수, 8진수, 16진수로 표현 됨

•부동 소수형 상수
     -소수점을 포함하는 상수 →  실수 형 상수
     -float(단정도 실수 형), double(배정도 실수 형)
          --실수로 표현된 상수 값은 double로 인식 됨
     -지수형 상수 표기법
          --1.234e-1 (1.234 × 10−1= 0.1234)

•문자형 상수
     -1byte 단일문자 하나를 표현하는 상수 → ASCII로 표현 가능 함
     -싱글 쿼테이션 (‘ ‘ )으로 표현

•문자열 상수
     -여러 개의 단일 문자를 연속해서 표현하는 상수
          --문자의 끝을 인식하기 위해 null문자(\0)가 자동으로 추가 됨
     -더블 퀘테이션(“ “)으로 표현

     





5.ASCII

•ASCII (American Standard Code for Information Interchange )
     -미국 정보 교환 표준 부호
     -영문 알파벳을 사용하는 대표적인 문자 인코딩 방법
     -7Bit로 이루어져 있다. ( 총 128개의 문자)
          --33개의 제어문자
          --95개의 출력가능 문자
          --52개 영문자 ( 대/소)
          --10개 숫자
          --32개 특수문자
          --1개 공백
     -ASCII 기반의 확장 인코딩 방식들이 많이 생겨났음
          --ISO/IEC 646, ISO 8859 등

•ASCII 와 문자형 상수
     -‘A’ = 65 = 0x41 = 0100 0001
     -‘a’ = 97 = 0x61 = 0110 0001
     -‘0’ = 48 = 0x30 = 0011 0000

     




5.Symbilic 상수

•const 상수
     -상수에 이름을 부여하여 데이터를 재 사용할 수 있게 함
     -변경은 불가능 함
     -선언할 때 반드시 값을 입력해야 함

•매크로 상수
     -전처리(pre processor)에서 미리 특정 상수의 이름을 정의 하여 이용 함
     -#define 명령으로 선언 함
          --#define [매크로이름] [상수값]
          --매크로 이름은 대문자로 지정 함
     -소스코드에서 매크로 이름을 호출하면 정의되어 있는 상수값으로 치환 됨

     


     




5.상수와 변수

•변수
     -데이터를 저장하는 공간 → 데이터 변경이 가능 함
     -데이터를 저장할 수 있는 메모리 공간만 할당 받음
          --변수의 이름으로 메모리 공간의 주소를 연결하여 사용하는 저장 공간
     -변수를 생성(선언)할 때 저장할 데이터의 크기, 종류에 맞게 공간을 할당 받음
          --자료형으로 지정 함

•상수의 종류
     -지역 변수
          --선언한 함수 영역 안에서만 사용할 수 있는 변수
          --하나의 함수 내부에서 선언 함 → 지역변수를 선언한 함수가 종료되면 할당 받은 공간이 해제 됨
          --메모리의 스택(stack) 영역에 생성 됨
     -전역 변수
          --모든 함수에서 사용할 수 있는 변수
          --pre processor에서 선언 함 → 프로그램이 종료될 때 할당 받은 공간이 해제 됨
          --메모리의 데이터(data) 영역에 생성 됨


하얀모자의 정보보안 whitehats

'▶ 웹기반 정보보안 과정 > Programming' 카테고리의 다른 글

160316 30번째 강의  (0) 2016.03.20
160315 29번째 강의  (0) 2016.03.19
160312 28번째 강의  (0) 2016.03.16
160311 27번째 강의  (0) 2016.03.16
160309 25번째 강의  (0) 2016.03.16

}