https://codebunny99.tistory.com/122
CPU 메모리에 대해 학습하기
(형식) 변수 = 데이터 =을 기준으로 왼쪽은 변수, 오른쪽은 데이터라고 한다. count = 3 코드 (Code) 영역:프로그램의 "요리책"이라고 생각할 수 있다.요리책에는 요리 방법(명령어)들이 적혀
codebunny99.tistory.com
저장 유형 지정자 static
- 변수의 메모리가 데이터 (Data) 영역에 저장되도록 하는 것이다.
#include <stdio.h>
void sub() {
static int scount = 0;
int acount = 0;
printf("scount = %d\t", scount);
printf("acount = %d\n", acount);
scount++
acount++
}
int main(void){
sub();
sub();
sub();
return 0;
}
저장 유형 지정자 register
-레지스터(register)에 변수를 저장한다
register int i;
for(i = 0 ; i < 100 ; i++)
sum += i;
- 레지스터란 CPU 안에 소량의 데이터 저장소이다.
- 메모리까지 가지 않아도 돼서 속도가 빠르고 성능이 좋아진다.
- 자주 사용하는 데이터를 저장하면 좋다.
volatile 지정자
- 하드웨어가 수시로 변수의 값을 변경하는 경우에 사용된다.
- 하드웨어와 연결된 변수
- 임베디드 시스템에 쓰인다.
volatile int io_port; //하드웨어와 연결된 변수
void wait(void){
io_port = 0;
while (io_port != 255);
}
'C Language' 카테고리의 다른 글
C언어 배열에 대해 학습하기 (1) (0) | 2024.06.19 |
---|---|
C언어 재귀적 알고리즘 : 하노이 탑 문제 (0) | 2024.06.19 |
C언어 전역변수와 지역변수, 매개변수(+가변매개변수)의 개념 (2) | 2024.06.19 |
C언어 사용자 정의 함수 (0) | 2024.06.19 |
C언어 라이브러리의 rand() 함수 (0) | 2024.06.18 |