// Dev-C++ 4.9.9.2 C++ 콘솔프로젝트로 구성함
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int *ptr, **ptr1, ***ptr2, ****ptr3;
int x=123;
printf("x : %d\n", x); // 초기화 123으로 x값을 초기화
printf("변수 x가 위치한 주소번지를 포인터변수 ptr로 선언\n");
printf("==========================================\n");
ptr = &x;
ptr1=&ptr;
ptr2=&ptr1;
ptr3=&ptr2;
printf("ptr 주소번지 : %x \n", ptr);
// ptr의 주소번지을 출력 : 22ff34
printf("ptr 주소번지에 저장된 값 : %d \n", *ptr);
// *ptr은 ptr의 주소번지의 값을 출력 : 123
printf("===================================================\n");
printf("ptr1 주소번지 : %x \n", ptr1);
// ptr1의 주소번지를 출력 : 22ff44
printf("ptr1 주소번지에 저장된 값(ptr1=&ptr;) *ptr1 : %x\n", *ptr1);
// *ptr1은 ptr1의 주소번지의 값을 출력 : 22ff34
printf("*ptr1 주소번지에 저장된 값 **ptr1 : %d \n", **ptr1);
// **ptr1은 *ptr(22ff34)의 주소번지의 값을 출력 : 123
printf("===================================================\n");
printf("ptr2 주소번지 : %x\n", ptr2);
// ptr2의 주소번지를 출력 : 22ff40
printf("ptr2 주소번지에 저장된 값 *ptr2(ptr2=&ptr1;) : %x\n", *ptr2);
// *ptr2는 ptr2의 주소번지의 값을 출력 : 22ff44
printf("*ptr2 주소번지에 저장된 값 **ptr2 : %x\n", **ptr2);
// **ptr2는 *ptr(22ff44)의 주소번지의 값을 출력 : 22ff34
printf("**ptr2 주소번지에 저장된 값 ***ptr2 : %d\n", ***ptr2);
// ***ptr2는 **ptr2(22ff34)의 주소번지의 값을 출력 : 123
printf("===================================================\n");
printf("ptr3 주소번지 : %x\n", ptr3);
// ptr3의 주소번지를 출력 : 22ff3c
printf("prr3 주소번지에 저장된 값 *ptr3(ptr3=&ptr2;) : %x\n", *ptr3);
// *ptr3는 ptr3의 주소번지의 값을 출력 : 22ff40
printf("*ptr3 주소번지에 저장된 값 **ptr3 : %x\n", **ptr3);
// **ptr3는 *ptr2(22ff40)의 주소번지의 값을 출력 : 22ff44
printf("**ptr3 주소번지에 저장된 값 ***ptr3 : %x\n", ***ptr3);
// ***ptr3는 **ptr3(22ff44)의 주소번지의 값을 출력 : 22ff34
printf("***ptr3 주소번지에 저장된 값 ****ptr3 : %d\n", ****ptr3);
// ****ptr3는 ***ptr3(22ff34)의 주소번지의 값을 출력 : 123
printf("===================================================\n");
****ptr3 = 100; // 포인터를 이용하여 x 값을 변경함(Call by Reference)
printf("x : %d\n", x); // 실제 값이 변경되어 x가 123이 100으로 바뀜
system("PAUSE");
return EXIT_SUCCESS;
}
저는 이렇게 이해하고 있습니다. 혹시 틀린점이 있으면 알려주세요.
같이 읽어두면 좋은 포스트 |
1. 스라벨 뜻 2. 장판 염색약 지우기 3. 미국구글 바로가기 4. 하드 캐리 뜻 |
'프로그램' 카테고리의 다른 글
문자와 문자열 개념 잡기 (0) | 2012.03.12 |
---|---|
문자열 초기화 - strcpy() 함수 (0) | 2012.02.22 |
html div로 여백주기 (2) | 2010.09.01 |
html 태그에서 align 하고 valign 차이점과 정렬 방식 (0) | 2010.09.01 |