17장 포인터의 포인터, 포인터 배열 연습
#include <stdio.h>
int main(void)
{
int num1 = 10, num2 = 20, num3 = 30;
int* ptr1 = &num1;
int* ptr2 = &num2;
int* ptr3 = &num3;
int* ptrArr[3] = { ptr1,ptr2,ptr3 };
int nomalArr[3] = { *ptr1,*ptr2,*ptr3 };
int** dptr=ptrArr; //prtArr[0] == ptrArr 둘다 배열의 첫번째 변수주소를 뜻한다.!
printf("dptr 출력 : %10p \n", dptr);
printf("ptrArr 출력 : %p \n", ptrArr);
printf("*ptrArr[i] 출력\n");
for (int i = 0;i < 3;i++)
printf("%15d %15d\n", *ptrArr[i],nomalArr[i]);
printf("\n");
printf("ptr1,ptr2,ptr3의 주소\n");
printf("%15p %15p %15p\n", ptr1,ptr2,ptr3);
printf("*dptr 출력 : %10p\n",*dptr);
printf("ptrArr[0] 출력\n");
printf("%15p\n", ptrArr[0]);
printf("&ptrArr 출력\n");
printf("%15p\n", &ptrArr);
printf("ptrArr 출력\n");
printf("%15p\n", ptrArr);
printf("\n");
printf("*dptr[i] 출력\n");
for (int j = 0;j < 3;j++)
printf("%15d\n", *dptr[j]); //*dptr[i] == **(dptr + i)
printf("\n");
printf("**(dptr+i) 출력\n");
for (int l = 0;l < 3;l++)
printf("%15d\n", **(dptr +l));
printf("\n");
return 0;
}
'STUDY' 카테고리의 다른 글
20장 도전2. 달팽이배열 (0) | 2017.02.23 |
---|---|
20장 도전1 (0) | 2017.02.22 |
C언어 포인터의 포인터 (0) | 2017.02.21 |
17-1 (0) | 2017.02.19 |