본문 바로가기
Language&Framework&Etc/C

2일차

by 머리올리자 2017. 5. 14.

자료'형' - B언어 X

            - C언어 O


      '형'식 - 일정 길이의 메모리

                  저장된 정보를 해석하는 방법


32 bit application = 2의 32제곱 = 4,294,967,296 = 42.95억/1,024(KB)/1,024(MB)/1,024(GB) = 4GB(메모리 최대)

64 bit = 16EB


TB → PB → EB → ZB → YB


IP주소 192.168.0.1

          (0~255) = 8bit x 4 = 32bit


 자료  → 숫자

(정보)

메모리 보관


ㅁㅁㅁㅁㅁㅁ

1 2 3 4 5 6 7 ------ 42.95억

(16진수)

번호 = 주소 = 위치정보


1byte = 8bit = 영문 1자


상수 = 확정

변수 - 값(이름) = 메모리(주소)


 |값| - 데이터


자료형 = 일정 길이의 메모리에 저장되어있는 데이터를 해석하는 것이 자료형

변  수  = 거기에 붙어있는 이름


ASCII = 약속(부호체계) 통일 = American Standard Code Information Interchange = 2의 8bit = 1byte = 256가지

영문 대소문자 특수문자 



13 - 6 = 7

       +

13 + 4 = 17(10의 단위 버린다)

       ||

      10


보수를 구한 후 더한다.


4 bits 


8 4 2 1

0 1 1 0 = 6

0 0 0 1 = 1


2의 보수를 취한다.

 1의 보수 + 1


0 1 1 0

+1 1 1 1

--------

(1) 0 1 0 1 - 자리올림 버린다.


변수와 함수는 선언 후 사용


자료형 변수이름 = 값


int  a; 선언

a = 10; 정의


int a = 10; - 선언 및 정의


형식


char = 8 bits

short

int = 32bit

long = 32, 64bit

long long int = 64bit ---- %lld


실수 형식 표현

float(단정도) = 32bit - 유효 자리수 이하 6자리

double(배정도) = 64bit - 유호 자리수 이하 15자리

long double(특수정도) = 79bit


실수형식 - '오차가 항상 존재'

오차 이유 : 근사값!!


3.3333-----?


3          4          5

| \      \  |           |



printf("$f\n", 928713569.0F-64) - 기존 수 유지

printf("$f\n", 928713569.0F-65) - 수 바뀜


정수의 경우  : 1  2

Float의 경우 : 1  128

|++++|-------|____|

오차 나옴


Float 절대로 쓰지 마라!! - 부동소수점 표시할 땐 double


문자열X 문자열O


특징 : 문자열의 끝은 NULL문자('\0') - 12개 배열 : 11개까지 값 입력

OR Buffer Overflow  Crash!!   Overrun!!! : 원격코드 실행 결함


상수화된 문자 '배열'

ㅁㅁㅁㅁㅁㅁㅁㅁ


int main(void)

{

char szBuffer[12] = {'H', 'e', 'l'};

char szBuffer[12] = {"Hel"}; - F9 : 포지션 브레이크 포인트 - F5 디버그 모드 - 배열의 이름(주소) 더블 클릭 메모리창에 드롭 - F10 한줄 실행

puts(szBuffer);

return 0;


}


C언어 : 2개월

자료구조 : 2개월

C++ : 2개월


모의해킹이란 무엇인가

'Language&Framework&Etc > C' 카테고리의 다른 글

6일차 - 기본제어문  (0) 2017.05.29
5일차  (0) 2017.05.20
4일차  (0) 2017.05.20
3일차  (0) 2017.05.18
1일차  (0) 2017.05.09