|
#include <stdio.h>
#include <stdlib.h>
void intalloc(int *ip)
{
ip=(int *)malloc(sizeof(int));
}
int main(int argc, char* argv[])
{
int *ip;
intalloc (ip);
*ip=5;
printf("%d\n", *ip);
free (ip);
return 0;
}
다들 보면 아시겠지만 포인터 문제임다...
스택구조에 대해서 물어 보는 넘이 있어서 가르켜 주다가 알게된건데여...
위 예가 논리적인 에러가 있거든여...
제가 원래 스투디오를 써서 거기서 컴팔 하면 그 짱나는 메모리 참조 창이 떴었는데..
빌더는 당당하게 5라고 뜨데여...ㅡ.ㅡ;;
설명하는 넘한테 얼마나 무안하던지....ㅡ.ㅡ;;
이건 안되는거라고 설명했었는데..
사실 빌더는 인제 시작하는 단계라서 툴사용법도 잘 모르지만...
빌더는 논리적인 오류는 잡아주질 않나여?
사용자가 그런부분은 알아서 해야 되는건가여?
콘솔모드 설정이 문젠가...ㅡ.ㅡ
아무튼 고수님들 설명점 해주세여....
|