전역 변수 문제입니다.
소아
질문 제목 : 전역 변수와 같은 이름의 지역 변수가 존재하는 영역밑의 질문 내용 보시면 실행 결과가 둘다 10입니다. fct함수에서 선언됀 지역 변수 val=20 이고, val 값을 증가 하고 있습니다. 책에서는 전역 변수가 우선시 되면 fct함수내 결과가 11이 되고 그렇지 않고 지역 변수가 증가된 거라면 10이될거 라는데.. 지역 변수가 20이라고 선언되었고 증가해서 출력 될려면 21이 될꺼 같은데.왜 10인지!!! 모르겠습니다. 이해가 안되내요.질문 내용 :
#include stdio.hint val=0;void fct(void);int main(void)
{
val=10;
printf(val : %d \n, val); fct();
printf(val : %d \n, val); return 0;
}void fct(void)
{
int val=20;
val++;
}
-
목련
감사합니다.
-
진달래
아 그렇군요 탈출함과 동시에 없어 지는 거였다니..
-
흰여울
질문게시판에는 덧글을 포함해서 반드시 돋움체 또는 굴림체를 사용해야 됩니다.
이 폰트로 계속해서 덧글을 쓰면 탈퇴가 됩니다.
폰트는 자신의 블로그에서 설정할 수 있습니다. -
영동교
즉 결론은 fct() 함수내의 val 변수는 독립적인 공간에 따로 존재하는 변수인 것이며,
지역변수가 전역변수보다 우선시 되는 것을 알 수 있습니다. -
FaintTears
전역변수는 선언 된 위치에서 시작해서 그 밑으로 참조가 유효한 변수입니다.
그리고 지역변수는 특정 { } 내에서만 유효있는 변수입니다.
지역변수는 전역변수와 동일한 이름으로 선언이 가능하며, 이 같은 경우에 지역변수가 선언된 { } 내에서 지역변수가 전역변수보다 우선권을 갖습니다.
따라서 fct() 함수안에서는 val++; 은 지역변수 20을 증가시킨 것입니다.
그리고 지역변수는 그 지역변수를 포함하는 중괄호 내에서만 유효하다고 말씀드렸다시피, i
번호 | 제 목 | 글쓴이 | 날짜 |
---|---|---|---|
2692401 | 유닉스안에서 C언어를 이용한 명함 만들기 입니다; 이해안가는 부분이있네요 | 2gether | 2025-04-22 |
2692374 | 고수님들 댓글 마니부탁해요!!! (2) | 엄지 | 2025-04-22 |
2692343 | scnaf에 자꾸 선언을 참조하라는데;; (8) | 도래 | 2025-04-22 |
2692282 | 도스상에서 생성된 exe파일에 press~ 뜨게 하기 (4) | 회사원 | 2025-04-21 |
2692256 | scanf("%*c"); ㅠㅠ 고수님들 | 거북이 | 2025-04-21 |
2692230 | 하노이탑 질문입니다. (1) | 미쁘다 | 2025-04-21 |
2692210 | 정보 올림피아드 문제인데.. 풀이 과정이 궁금합니다.(재귀함수) (5) | 물티슈 | 2025-04-20 |
2692144 | C언어와 리눅스에 대한 질문입니다. | 싴흐한세여니 | 2025-04-20 |
2692114 | 컨텍스트 스위칭하는데 걸리는 시간 측정.. | YourWay | 2025-04-19 |
2692086 | 간접참조 연산자, 증감연산자 질문이용! (2) | 블랙캣 | 2025-04-19 |
2692056 | 주석좀 달아주세요. 몇개적엇는데 몇개만달아주세요. (2) | DevilsTears | 2025-04-19 |
2691978 | 진수 쉽게 이해하는법... (3) | 지지않는 | 2025-04-18 |
2691949 | getchar() 한 문자를 입력받는 함수 질문 | 채꽃 | 2025-04-18 |
2691919 | 배열 정렬 및 합치기 질문입니다. | 사과 | 2025-04-18 |
2691845 | c언어왕초보 질문이 있습니다........ | 루나 | 2025-04-17 |
2691815 | void add(int num); 함수... (4) | 살랑살랑 | 2025-04-17 |
2691756 | 명령 프롬프트 스크롤바가 없어요 | 두메꽃 | 2025-04-16 |
2691725 | 자료구조에 관련해서 질문이 있어 글을 올립니다. | 누리알찬 | 2025-04-16 |
2691697 | if 문에서 구조체 배열에 저장되있던 문자열 검사하는 법 ? (2) | 민트맛사탕 | 2025-04-16 |
2691678 | C언어 함수 질문이요~!!! | 연보라 | 2025-04-15 |