자료'형' - 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 |