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 |