목차
1. 포인터 변수
2. 포인터 연산자
3. 배열과 포인터
4. 문자열 배열과 포인터
2. 포인터 연산자
3. 배열과 포인터
4. 문자열 배열과 포인터
본문내용
시작위치를 포인터가 가리킨다.
즉 포인터는 문자배열의 시작주소를 저장한다.
예제 5)
#include
main(){
char *p;
p="abcdefg";
printf("%d\n",p); /* 문자열의 시작주소 출력 */
printf("%s\n",p); /* 포인터 변수p가 가르키는 부분부터 문자열 출력 */
printf("%s\n",p+1);
printf("%c\n",*(p+1));
}
예제 6)
#include
main(){
char *p[3] = {"banana", "water meron","orange"}; ①
printf("%s\n",p[0]);
printf("%s\n",p[1]);
printf("%c\n",*(p[2]+2));
printf("%s\n",p[2]+2);
}
==>위의 경우에서 ①은 문자열을 배열로 저장하고 각 문자열의 시작주소를 포인터 배열에서 순서적으로 저장하게 된다.
* 이중포인터변수
포인터의 주소를 저장하는 포인터변수
예제 7)
#include
main(){
int a,*p1,**p2;
a=100;
p1=&a;
p2=&p1;
printf("%d\n",**p2);
}
즉 포인터는 문자배열의 시작주소를 저장한다.
예제 5)
#include
main(){
char *p;
p="abcdefg";
printf("%d\n",p); /* 문자열의 시작주소 출력 */
printf("%s\n",p); /* 포인터 변수p가 가르키는 부분부터 문자열 출력 */
printf("%s\n",p+1);
printf("%c\n",*(p+1));
}
예제 6)
#include
main(){
char *p[3] = {"banana", "water meron","orange"}; ①
printf("%s\n",p[0]);
printf("%s\n",p[1]);
printf("%c\n",*(p[2]+2));
printf("%s\n",p[2]+2);
}
==>위의 경우에서 ①은 문자열을 배열로 저장하고 각 문자열의 시작주소를 포인터 배열에서 순서적으로 저장하게 된다.
* 이중포인터변수
포인터의 주소를 저장하는 포인터변수
예제 7)
#include
main(){
int a,*p1,**p2;
a=100;
p1=&a;
p2=&p1;
printf("%d\n",**p2);
}
소개글