int*p = &a;
에서 p가 a의 주소를 담는건 알겠는데
*p = 10; 을하면 왜 a도 10이 되죠?
코드 지우셈
솔직히 뭘 묻고싶은지 모르겠다
*p가 a라서
=가 변수라는 공간에 대입하는게 아니고
왼쪽 = 오른쪽 한다면 오른쪽의 값을 왼쪽이 가르키는 메모리 주소에 쓴다고 생각하셈
사실상 변수는 공간이아니라 메모리 시작 주소와 길이일 뿐임...
ㄳ 완벽히 이해함
int a; // a생성. a는 메모리시작주소 0x17번지 int *ptr; // ptr생성. ptr의 메모리 시작주소 0x21번지 a = 1; // a에 1대입. 0x17번지에 "1"이라는 값을 넣음 ptr = &a; // &a는 0x17. ptr의 값에 0x17을 대입. //한마디로 0x21에들어있는값은 "0x17"이라는 그 자체임. *ptr = 2; // ptr의 주소인 0x21이 아니라 0x21에 들어잇는 값 0x17을 메모리주소로 인식하여 // 0x17에 "2"라는 값을 넣음.
시@발 열심히 썼는데 벌써 이해하다니 천재잖아 ? ? ? ?
virtuall allocation process도아시는분이 왜 이런걸질문함 ? ; ;머지
http://lgstar.tk커뮤니티 사이트 입니다 많은 이용 부탁 드립니다. - DCW
코드 지우셈
솔직히 뭘 묻고싶은지 모르겠다
*p가 a라서
=가 변수라는 공간에 대입하는게 아니고
왼쪽 = 오른쪽 한다면 오른쪽의 값을 왼쪽이 가르키는 메모리 주소에 쓴다고 생각하셈
사실상 변수는 공간이아니라 메모리 시작 주소와 길이일 뿐임...
ㄳ 완벽히 이해함
int a; // a생성. a는 메모리시작주소 0x17번지 int *ptr; // ptr생성. ptr의 메모리 시작주소 0x21번지 a = 1; // a에 1대입. 0x17번지에 "1"이라는 값을 넣음 ptr = &a; // &a는 0x17. ptr의 값에 0x17을 대입. //한마디로 0x21에들어있는값은 "0x17"이라는 그 자체임. *ptr = 2; // ptr의 주소인 0x21이 아니라 0x21에 들어잇는 값 0x17을 메모리주소로 인식하여 // 0x17에 "2"라는 값을 넣음.
시@발 열심히 썼는데 벌써 이해하다니 천재잖아 ? ? ? ?
virtuall allocation process도아시는분이 왜 이런걸질문함 ? ; ;머지
http://lgstar.tk
커뮤니티 사이트 입니다 많은 이용 부탁 드립니다. - DCW