|  |
| |
| clockmaker |
그거 쓰레기 값 아닙니다;;
잘 보시면 두 번째 줄 출력이 4씩 증가하죠? int 변수는 4 byte니까 메모리를 4칸 먹게 되죠.
즉 출력된 게 주소라는 겁니다.
그럼, 해당 주소의 '데이터'인 10, 20 등을 출력하기 위해서는 어떻게 해야 할까요?
잘 모르겠다면, 포인터의 개념 부분을 다시 한 번 읽어보시는 게 좋을 것 같네요. |
2011/05/27 |
|
| prosthetics |
printf("%d ", );// 포인터로 배열에 접근해서 원소를 출력할때 필요한 코드를 작성하시오
이부분을 비워두셨으니 %d값에 쓰레기 값만 뜨는것입니다.
%d형식으로 어떤값을 출력할지 적어주셔야지요. |
2011/05/27 |
|
| clockmaker |
1 음 p++;를 쓰신 걸로 봐서
맨 처음에 printf("%d", p); 라고 쓰셨다가 이상한 값이 나오니 지워 두신 거 같은데요 ㅎㅎ |
2011/05/27 |
|
| ajdcjdgks |
clockmaker 님 말씀데로 printf("%d",p);라고썻다가 주소값이 정수로 나와서 지워둔거맞습니다 ㅎㅎ
책을 다시 읽어보니 답을찾았습니다 ㅎㅎ모두들 도움 주셔서 감사합니다 ^^ |
2011/05/27 |
|
| endosymbiosis |
int* p 에 대한 개념이 부족해서 생긴 것입니다.
int p : p라는 이름을 가진 int형 value를 넣을 수 있는 메모리
int* p : p라는 이름을 가진 int형 포인터 즉, 주소를 넣을 수 있는 메모리를 의미합니다.
즉 후자의 p에는 주!소! 가 저장이 되는군요.
그렇다면 주소에 있는 값을 찾아내는 포인터 연!산!자! ( * )가 필요하기 때문에
*p 를 입력하셔야 하는 것입니다. |
2011/06/04 |
|