300x250
C언어에서의 배열과 포인터는 서로 밀접한 관계의 개념이며
범용성이 커 아주 잘 쓰이는 기능입니다.
그러므로 초심자가 새로 배우는 입장에서는 어려울 수도 있습니다.
1.배열과 포인터 - 포인터로 배열 사용하기
#include <stdio.h>
int main()
{
int score[5]={1,2,3,4,5};
int *ap;
ap=score;
for(int i=0; i<5; i++)
printf("%d\n", ap[i]);
printf("%d\n", *(&ap[0]));
printf("%d\n", &ap[0]);
return 0;
}
>>>
1
2
3
4
5
1
6487536
score 배열의 크기는 5이며 int형 배열이므로
5개의 int형 변수가 들어갈 수 있습니다.
또한 포인터 변수 ap는 배열 score를 참조합니다.
여기서 참조란 배열의 시작 주소를 가리키는 것을 의미합니다.
2. C언어 포인터 배열 예제1 - 배열의 평균값
#include <stdio.h>
int main()
{
double avg;
double score[]={10, 20, 30, 40, 50};
double *dp;
dp=score;
for(int i=0; i<5; i++)
{
avg+=dp[i];
}
for(int j=0; j<5; j++)
printf("%d.입력된 배열의 값 : %lf\n",j+1, *(dp+j));
printf("배열의 평균값 : %.2lf\n", avg/5);
return 0;
}
>>>
1.입력된 배열의 값 : 10.000000
2.입력된 배열의 값 : 20.000000
3.입력된 배열의 값 : 30.000000
4.입력된 배열의 값 : 40.000000
5.입력된 배열의 값 : 50.000000
배열의 평균값 : 30.00
score 배열에 5개의 값을 초기화하였고
이를 포인터 dp로 참조합니다.
이후 초기화되어있는 값을 포인터 변수로 배열을 참조해 출력했고
그 평균값을 출력합니다.
C언어 포인터 배열 예제 2 / 배열의 값 거꾸로 출력하기
#include <stdio.h>
int main()
{
double score[]={10, 20, 30, 40, 50};
double *dp;
dp=score;
for(int j=4; j>=0; j--)
printf("%d.입력된 배열의 값 : %lf\n",j+1, *(dp+j));
return 0;
}
>>>
5.입력된 배열의 값 : 50.000000
4.입력된 배열의 값 : 40.000000
3.입력된 배열의 값 : 30.000000
2.입력된 배열의 값 : 20.000000
1.입력된 배열의 값 : 10.000000
역시 배열을 포인터로 참조하여 진행되는 예제입니다.
초기화되어있는 배열의 값을 포인터로 참조하여 거꾸로 출력하는 간단한 예제입니다.
배열과 포인터에서는 참조라는 개념이 중요합니다.
포인터는 가리키는 것 즉 주소를 가리키는 것을 참조라고 지칭합니다.
그래서 포인터에 대해 배우게 된다면 당장 코딩을 해보는 것도 중요하지만
개념에 대해 자세히 잘 숙지하는 게 중요합니다.
300x250
'개발&코딩 > C' 카테고리의 다른 글
C언어 문자열 함수를 이용한 심화예제 풀어보기 (0) | 2020.09.10 |
---|---|
[C] 포인터와 메모리 기초 &,* (0) | 2020.09.10 |
배열 예제로 배우는 C언어 기초 strlen(), sizeof() (0) | 2020.09.10 |
[C] 함수의 구조와 예제 모음 (0) | 2020.09.09 |
C언어 반복문 예제와 기초 알아보기 - for,while,dowhile (0) | 2020.09.09 |
댓글