CODEDRAGON ㆍDevelopment/C, C++
함수의 결과로 지역 변수의 주소를 반환할 경우 경고가 발생하는 것 확인하기
학습내용
지역변수는 함수 종료시 메모리에서 사라지는데
이 사라진 주소의 메모리 주소를 p가 참조할 경우 문제가 발생합니다.
Warning 해결을 위해 지역변수를 static변수로 수정해 줍니다.
소스코드
#include <stdio.h> |
출력결과
값은 출력될 수도 안될 수 도 있습니다. 값이 출력되더라도 정확한 결과는 될 수 없습니다.
eclipse Warning 발생
Visual Studio Warning발생
C4172: 지역 변수 또는 임시 변수의 주소를 반환하고 있습니다. |
'Development > C, C++' 카테고리의 다른 글
지역변수의 주소를 반환해서 생기는 문제 2 (0) | 2016.07.14 |
---|---|
지역변수의 주소를 반환해서 생기는 문제 1 (0) | 2016.07.08 |
Ex55-배열포인터를 사용하지 않고 1차원 포인터 변수에 2차원 배열의 주소를 저장 (0) | 2016.06.22 |
Ex54-2차원 배열의 주소를 저장하는 배열 포인터 변수 p 사용하기 (0) | 2016.06.20 |
Error-PCH warning: cannot find a suitable header stop location. An IntelliSense PCH file was not generated (0) | 2016.06.18 |