목차
1. 포인터 개념
2. 배열과 포인터
3. 이중포인터
4. 배열에서의 이중포인터
2. 배열과 포인터
3. 이중포인터
4. 배열에서의 이중포인터
본문내용
<포인터 개념>
포인터 연산자
주소연산자 (&) :
선언되어있는 일반변수의 주소를 추출해주는 연산자
(~의 주소)
간접 참조연산자(*)
포인터 변수를 선언할 때
포인터 변수가 가리키고 있는 주소에 들어있는 값, 즉 번지에 있는 값을 참조할 때 사용
#include
main()
{
int *p, x, y;
x = 200;
p = &x;
y = *p;
printf("address of x = %u", &x);
printf("address of p = %u", p);
printf("address of y = %u", &y);
printf("value of x = %u", x);
printf("value of *p = %u", *p);
printf("value of y = %u", y);
}
실행결과
address of x = 65482
address of p = 65482
address of y = 65484
value of x = 200
value of *p = 200
value of y = 200
<배열과 포인터 >
배열요소와 주소
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int *p ;
p = a ; /* p에 배열 a의 시작 주소를 저장한다. */
/* 이 문장은 a의 첫째, 둘째, 셋째 원소들을 출력한다. */
printf("%d %d %d", *p, *(p+1), *(p+2));
/* 이 문장은 a를 사용하여 같은 것을 출력한다. */
printf("%d %d %d", a[0], a[1], a[2]);
예)
#include
main()
{
static char name[4] = "kim";
int i;
for(i=0; i<3; i++)
printf("name[%d]=%c, *(name+%d)=%c", i, name[i], i, *(name+i));
}
실행결과
name[0]=k, *(name+0)=k
name[1]=i, *(name+1)=i
name[2]=m, *(name+2)=m
포인터 연산자
주소연산자 (&) :
선언되어있는 일반변수의 주소를 추출해주는 연산자
(~의 주소)
간접 참조연산자(*)
포인터 변수를 선언할 때
포인터 변수가 가리키고 있는 주소에 들어있는 값, 즉 번지에 있는 값을 참조할 때 사용
#include
main()
{
int *p, x, y;
x = 200;
p = &x;
y = *p;
printf("address of x = %u", &x);
printf("address of p = %u", p);
printf("address of y = %u", &y);
printf("value of x = %u", x);
printf("value of *p = %u", *p);
printf("value of y = %u", y);
}
실행결과
address of x = 65482
address of p = 65482
address of y = 65484
value of x = 200
value of *p = 200
value of y = 200
<배열과 포인터 >
배열요소와 주소
int a[10] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
int *p ;
p = a ; /* p에 배열 a의 시작 주소를 저장한다. */
/* 이 문장은 a의 첫째, 둘째, 셋째 원소들을 출력한다. */
printf("%d %d %d", *p, *(p+1), *(p+2));
/* 이 문장은 a를 사용하여 같은 것을 출력한다. */
printf("%d %d %d", a[0], a[1], a[2]);
예)
#include
main()
{
static char name[4] = "kim";
int i;
for(i=0; i<3; i++)
printf("name[%d]=%c, *(name+%d)=%c", i, name[i], i, *(name+i));
}
실행결과
name[0]=k, *(name+0)=k
name[1]=i, *(name+1)=i
name[2]=m, *(name+2)=m
키워드
추천자료
자료처리교안
C++ 각 변수의 정의 및 설명
C언어 프로그래밍에 관한 기초적인 이해
C++ 고급C언어에 관한 이해
C++과 JAVA의 자료형의 차이점
[C언어]프로그래밍(C언어)에 대한 PPT자료
멀티다중 송수신 소켓콤포넌트,메신저소스포함
c++로버블정렬,선택정렬,삽입정렬프로그램짜기
이지소켓 콤포넌트 ,다중접속,다중수신,화일전송가능 콤포넌트
마이크로프로세서 C프로그램 요약레포트
[영상처리] 히스토그램 평활화와 명세화
concepts of programming languages review question 1장~6장
프로그래밍 언어론 - C언어와 Pascal(파스칼)언어의 비교