[혼공C] 13-1 변수의 영역과 데이터 공유

2021. 10. 9. 14:12· 개발 일지/프로그래밍 언어(Java, C, SQL)
목차
  1. 1. auto, register, static 예약어
  2. 2. 지역 변수의 주소 반환

1. auto, register, static 예약어

종류 지역 변수 전역 변수
예약어 auto register static 없음 static
선언 위치 코드 블록 내부 함수 외부
사용 범위 선언 ~ 선언한 블록 끝 프로그램 전체 하나의 파일 내부
메모리 존재 기간 선언 ~ 선언한 블록 끝 프로그램 시작 ~ 종료
자동 초기화 없음 0으로 자동 초기화
메모리 위치 스택 영역 레지스터 데이터 영역

2. 지역 변수의 주소 반환

int *get_num(void)

{

 int n;

 scanf("%d", &n);

 return (&n);

}

이런 식으로 반환하게 된다면 지역변수의 주소를 반환하기 때문에 에러 메시지를 보낸다. 왜냐하면 이 작업 이후 get_num 함수가 종료되면 n이 할당받았던 메모리를 반환하게 되고, 이 공간을 언제 사용하게 될지 몰라 수정될 가능성이 크기 때문입니다.

'개발 일지 > 프로그래밍 언어(Java, C, SQL)' 카테고리의 다른 글

[혼공C] 15-1 2차원 배열의 요소를 참조하는 원리 (feat. 극혐 이중 포인터, 배열 포인터, 포인터 배열)  (0) 2021.10.12
[혼공C] 목차 정리  (0) 2021.10.11
[혼공C] string.h 헤더파일 내장 함수 구현(strlen, strncpy, strncat, strcpy)  (0) 2021.10.09
[혼공C] 12-2 대입 연산자를 사용한다면 배열 선언과 동시에 문자열 초기화는 국룰  (0) 2021.10.08
[혼공C] 12-1 gets 함수를 사용한 문자열 입력(puts, fgets, fputs)  (0) 2021.10.07
  1. 1. auto, register, static 예약어
  2. 2. 지역 변수의 주소 반환
'개발 일지/프로그래밍 언어(Java, C, SQL)' 카테고리의 다른 글
  • [혼공C] 15-1 2차원 배열의 요소를 참조하는 원리 (feat. 극혐 이중 포인터, 배열 포인터, 포인터 배열)
  • [혼공C] 목차 정리
  • [혼공C] string.h 헤더파일 내장 함수 구현(strlen, strncpy, strncat, strcpy)
  • [혼공C] 12-2 대입 연산자를 사용한다면 배열 선언과 동시에 문자열 초기화는 국룰
jayoon
jayoon
하고 싶은 것들을 하며 성공하기
jayoon
자윤 블로그
jayoon
전체
오늘
어제
  • 분류 전체보기 (72)
    • 개발 일지 (68)
      • GitHub, Git, Source Tree (4)
      • AWS(Amazon Web Service) (4)
      • Spring (7)
      • 알고리즘 (4)
      • 프로그래밍 언어(Java, C, SQL) (33)
    • 일상 (4)
      • 일상 관리 밴드 (1)
      • 내가 읽은 책! (1)

인기 글

최근 댓글

블로그 메뉴

  • 홈
  • 태그
  • 방명록
  • 블로그 관리 페이지
hELLO · Designed By 정상우.v4.2.2
jayoon
[혼공C] 13-1 변수의 영역과 데이터 공유
상단으로

티스토리툴바

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.