일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- Visual Studio
- 연산자
- 김성엽
- CS
- 배열
- VS ERROR
- Tips프로그래밍강좌
- 프로그래밍
- c#
- 지식나눔강좌
- 리뷰
- Direct2D
- Javascript
- c
- 함수
- Kotlin
- 문법
- Windows
- c++
- tipssoft
- Desktop
- 포인터
- 티스토리
- Win32
- doit코틀린프로그래밍
- 알고리즘
- Tips강좌
- Programming
- 백준
- 이지스퍼블리싱
Archives
- Yesterday
- Today
- Total
F.R.I.D.A.Y.
VS ERROR C4700 : 초기화되지 않은 * 지역 변수를 사용했습니다. 본문
반응형
종종 프로그램을 작성하다가 보면 아래와 같은 런타임 오류가 발생하는 경우가 있습니다.
이 문제는 왜 발생하는걸까요? 위 문제는 아래 코드로부터 발생되었습니다.
#include <stdio.h>
int main(void) {
int a;
printf("변수 a의 값은 %d입니다.", a);
return 0;
}
위 코드를 작성하고 컴파일을 진행하면 아래와 같은 경고가 발생합니다. 컴파일러 경고 수준에 따라 경고가 오류로 발생할 수도 있습니다.
1. 원인
말 그대로 a 변수를 초기화 하기 전에 해당 변수를 사용해 발생하는 문제입니다.
변수를 처음 만들게 되면 기존 메모리에 들어있는 값을 그대로 사용하게 되기 때문에 어떤 값이 들어있는지 알 수 없습니다. 그래서 예외 발생의 가능성이 있죠. 따라서 프로그램이 변수에 들어있는 값을 예상할 수 있는 범위 이내에 두게 하기 위해 초기화를 진행합니다.
2. 해결
문제를 해결하는 방법은 사용 전에 어떠한 값을 대입함으로써 초기화를 진행하면 됩니다.
이번 코드에서는 아래와 같은 방법으로 문제를 해결할 수 있습니다.
#include <stdio.h>
int main(void) {
int a = 0;
printf("변수 a의 값은 %d입니다.", a);
return 0;
}
728x90
반응형
'DEV > Tip' 카테고리의 다른 글
VS ERROR E1696 : 파일 소스을(를) 열 수 없습니다. "file, header, etc." (3) | 2019.04.05 |
---|---|
VS ERROR C6031 : 반환 값이 무시되었습니다. 'function'. (1) | 2019.04.04 |
VS ERROR C4013 : function(가) 정의되지 않았습니다. extern은 int형을 반환하는 것으로 간주합니다. (1) | 2019.03.22 |
폰트의 중요성 (0) | 2019.03.21 |
VS ERROR C1854 : 미리 컴파일된 헤더를 개체 파일 '...\*.obj'에 만드는 동안 구성된 정보를 덮어쓸 수 없습니다. (0) | 2019.03.12 |
Comments