728x90
반응형
static 안한 상태의 구조체
-구조체 주소를 찾아가면 0x36f848 을 보면 10 값을 가지고 있다가 함수에 빠져나가면 값이 사라지는 것을 볼 수 있다.
그러나 static 선언을 하면 ....
0xb8a188 주소에서 10(0xa)값을 가지고 있다가 함수를 나와도 값을 그대로 가지고 있는 것을 볼수 잇다.
head.h
#include <stdio.h>
typedef struct {
int a1;
int b1;
}test_str1;
void sub1(void);
void sub2(void);
void sub3(void);
main.c
#include "head.h"
void main(void) {
sub1();
sub3();
sub2();
}
void sub1(void) {
static test_str1 test_str1;
test_str1.a1 = 10;
printf("0x%x\r\n",&test_str1);
printf("%d\r\n", test_str1.a1);
}
void sub2(void) {
test_str1 test_str1;
printf("0x%x\r\n", &test_str1);
}
void sub3(void) {
printf("test1\r\n");
}
728x90
반응형
'공부 > C언어' 카테고리의 다른 글
28. CRC-16 예제 (0) | 2020.04.20 |
---|---|
27. 구조체 와 함수 (0) | 2020.02.04 |
25. 구조체_구조체 함수_구조체 포인트 (0) | 2019.07.26 |
24. static void 함수 (0) | 2019.07.11 |
23. 포인트 문자열 (0) | 2019.07.11 |