반응형
포인터의 기본원리에 대해서 앞의 글에서 설명했다.
잘모르겠다면 보고 오시길.
2020/03/16 - [Computer Language/C 언어] - [C 언어] 포인터 (pointer) 무엇인가? , 제대로 알자.
예제 1. 피타고라스 함수.
void pythagoras(int x, int y, int *z){ // 아래의 변수 z와 *z는 다른 것을 의미함. 혼동하지말것.
*z = (int)sqrt((double)(x*x) + (double)(y*y)); // 계산 결과를 포인터 변수 z가 가리키는 주소에 넣어줌.
}
int x, y, z;
x=3;
y=4;
pythagoras(x,y,&z) // &z를 통해 계산결과를 변수 z에 넣는다.
print("z=%d\n",z); // 결국 출력은 변수 z=5를 출력할 것이다.
// 포인터를 사용하지 않고 그냥 z로만 식을 만든다면,
// 함수안에서만 계산될 뿐 변수 z에는 값이 없다.
예제 2. 원의 면적 구하기.
void area_of_circle(float r, float *area){
float pi = 3.14;
*area = pi*(r*r); //포인터 이용.
}
float r, area; // r:radius
r=2.0;
area_of_circle(r, &area); // 면적 계산 결과를 변수 area에 넣음.
printf("\nradius = %f, area = %f",r,area); // radius = 2.0, area = 12,45
출처
반응형
'컴퓨터 언어 > C\C++' 카테고리의 다른 글
[c 언어] fputs 함수란. (0) | 2020.04.04 |
---|---|
[c 언어] 배열에 원소 값 삽입하기 ( memmove() 이용하기 ) (0) | 2020.04.03 |
[c언어] rand(), srand() 랜덤함수는 무엇인가? (난수 생성) (0) | 2020.04.02 |
[c언어] fprintf(stderr, "error!"); 에 대하여. (0) | 2020.04.02 |
[C 언어] 포인터 (pointer) 무엇인가? , 제대로 알자. (0) | 2020.03.16 |