반응형
#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
}
지긋지긋한 포인터... 이제야 알겠다 ㅋㅋ
// 포인터의 포인터 예제
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
}
지긋지긋한 포인터... 이제야 알겠다 ㅋㅋ
반응형
'Computer & Program > 잡다한 이모저모' 카테고리의 다른 글
문자열 출력 예 (0) | 2009.03.04 |
---|---|
이름과 숫자 1~4까지의 답 10개를 입력 받아 O,X 표시 및 평균 및 최고득점자와 최소 득점자 출력하는 로직 (0) | 2009.03.04 |
이름과 점수를 입력받아 관리하는 프로그램 (0) | 2009.03.04 |
KMP 알고리즘... (0) | 2009.03.04 |
마방진~ Magic square (0) | 2009.03.04 |
댓글