*컴퓨터 구성
1. CPU : 연산
- 데이터 처리 속도 : 엄청빠름
- Read/Write 속도 : 엄청빠름
2. L1 Cache 메모리 : 저장
- 저장용량 : 작음 / 보통 8~64KB
- Read/Write 속도 : 엄청빠름(L2보다 빠름)
3. L2 Cache 메모리 : 저장
- 저장용량 : 작음 / 보통 64KB ~ 4MB
- Read/Write 속도 : 엄청빠름
4. 메모리 : 저장
- 저장용량 : 작음 / 8G
- Read/Write 속도 : 빠름
5. 하드디스크 : 저장
- 저장용량 : 큼
- Read/Write 속도 : 느림
*PC를 관리하는 소프트웨어 : 운영체제
- OS가 메모리를 관리한다.
- 우리가 만든 C 프로그램은 운영체제의 관리하에 실행된다.
- 즉 우리가 만든 프로그램은 운영체제에 메모리를 구걸한다.
- 우리가 만든 변수는 메모리에 할당된다.
- 즉 우리가 변수에 숫자 10을 넣으면, 그것은 메모리 어딘가에 저장된다.
*메모리 구역
- 메모리는 크게 2개의 구역으로 나뉜다.
- 힙 : 객체들의 세계, 위에서 내려온다.
- 스택 : 지역변수들의 세계, 아래에서 올라간다.
*C언어 포인터
- int i = 5; int* p = &i; *p = 10;
- 위 코드는 int i = 5; i = 10; 과 같은 의미 이다.
- int* p : int 변수의 주소를 저장 할 수 있는 변수 p를 만든다.
- &i : 변수 i의 리얼 주소를 알라낸다.
- *p : p에 들어있는 주소로 간다.
- *p = 10; : p에 들어있는 주소로 가면 4평짜리 땅(4바이트 공간)이 나오는데, 거기에 5가 들어있다. 그것을 10으로 바꾼다.
'프로그래밍 > C언어' 카테고리의 다른 글
C언어 포인터 (0) | 2020.05.25 |
---|---|
C언어 변수타입, C언어 변수타입 크기확인 (0) | 2020.05.23 |
C언어 함수(심화), 별찍기 (0) | 2020.05.22 |
C언어 함수 (0) | 2020.05.20 |
C언어 이중반복문(While, for) (0) | 2020.05.19 |