CS 공부
정보처리기사 실기 C 공부 ②
Algomalgo
2024. 4. 22. 01:58
728x90
- 주소를 리턴하는 함수
int i;
int x = 10;
int *p;
int a[100];
for (i=0; i<100; i++)
a[i] = i * 10;
p = func(x, a);
printf("sum=%d", x + a[0] + a[1] + p[0] + p[1]); // 10 + 0 + 20 + 20 + 20 = 70
int *func(int a, int *x){
a = a + 10;
x = x + 1;
*x = *x * 2;
return x;
}
- static 변수
단 한번만 초기화하고, 그 이후에는 전역변수처럼 프로그램이 종료될 때까지 메모리 공간에 존재하는 변수
초기값이 지정이 안되면, 자동으로 0이 대입된다.
// 지역 변수 사용 시
void test(){
int a = 10;
a++;
printf("%d", a); // 11, 11 출력
}
void main(){
test();
test();
}
// static 변수 사용 시
void test(){
static int a = 10;
a++;
printf("%d", a); // 11, 12 출력
}
void main(){
test();
test();
}
728x90