|
고맙~ 님이 쓰신 글 :
:
: 책을 찾아봐서 봐도 잘 이해가 되지 않습니다.
:
: 동적 메모리에 관한 것인데요.
:
: int *px --> 이것은 int 형 포인터변수 px 를 정의 한다는 것을 알겠는데..
:
: int *px=new int --> 위에것과 이것과의 차이를 잘 모르겠습니다. int 형 만큼의 메모리 공간을
:
: 할당한다고 하는것 같은데.. 왜 이걸 쓰는지 모르겠습니다.
:
: 그냥 int *px 를 하고 px 를 쓰는 것과, int *px=new int 라고 쓰는 것의 차이는 무엇인지..
:
: 책을 보아도 머리가 나쁜관계로..뜬 구름 잡는 소리로 들리는군요...^^
:
:
:
:
:
이 차이는
int * px 는 px는 말그대로 int를 가리키는 포인터로서 크기는 모든 포인터의 크기인 4byte(물론
32bitOS)이고 그 위치에는 쓰레기 값이 있겠죠..
int * px = new int 는 heap에 int형 크기만큼의 공간이 잡히고 px는 이제 쓰레기 값이 아닌
heap에 새로 잡힌 그 메모리의 시작위치를 가지고 있는거겠죠..
이둘의 차이는 이정도라구 밖에...
|