본문 바로가기
Computer & Program/잡다한 이모저모

포인터

by TDRemon 2009. 3. 4.
반응형
#include<stdio.h>
// 포인터의 포인터 예제
char *c[]={"ENTER", "NEW", "POINT", "FIRST"};
char **cp[]={c+3, c+2, c+1, c};
char ***cpp=cp;
void main()
{
 printf("%s\n", **++cpp); // PIONT
 printf("%s\n", *--*++cpp+3); // ER
 printf("%s\n", *cpp[-2]+3); // ST
 printf("%s\n", cpp[-1][-1]+1); // EW
}
// 단순한 포인터 예제
void main()
{
 int x, y;
 int *px, *py;
 x=5;
 px=&x;
 y=*px/2+10;
 py=&y;
 printf("x : %d, y : %d\n", x, y); // 5, 12
 printf("*px : %d, *py : %d\n", *px, *py); // 5, 12
}
// 포인터로 문자열 탐색 예제 1
void main()
{
 char *name[3] = {"kim", "lee", "park"};
 printf("%c \n", *name[2]); // p
 printf("%s \n", name[2]); // park
 printf("%c \n", name[2][0]); // p
 printf("%c \n", name[1][2]); // e
 printf("%s \n", *(name+1)); // lee
 printf("%c \n", **(name+1)); // l
 printf("%c \n", *(*(name+2)+2)+2); // u
}
// 포인터로 문자열 탐색 예제 2
void main()
{
 char *a[2][3] = {"ab", "cde", "f", "ghi", "jklmnop", "qrst"};
 printf("%c \n", ***a); // a
 printf("%c \n", **a[1]); // g
 printf("%c \n", **(a[1]+2)); // q
 printf("%c \n", (*(*(a+1)+1))[6]); // p
 printf("%c \n", *(a[1][2]+2)); // s
}
지긋지긋한 포인터... 이제야 알겠다 ㅋㅋ
반응형

댓글