-
[열혈강의 C]Part2. 12장 - 포인터의 이해(연습문제12-1-2)Development/C 2013. 8. 9. 15:53반응형
[연습문제 12-1-2]
char형 변수 a, int형 변수 b, float형 변수 c, double형 변수 d, 이렇게 총 4개의 변수를 선언하자(초기값은 임의로 정하기 바란다).
그리고 포인터 p1, p2, p3, p4를 선언해서 각각 a,b,c,d를 가리키게 하자.
그 다음에 포인터 p1, p2, p3, p4를 이용해서 a, b, c, d의 값을 1 증가시킨다. 즉 간접 접근방식에 의해서 값을 하나 증가시키라는 뜻이다.
#include<stdio.h>
int main(void)
{
char a='a';
int b=1;
float c=1.3f;
double d=3.5;
char *p1=&a;
int *p2=&b;
float *p3=&c;
double *p4=&d;
printf("p1=%c\np2=%d\np3=%f\np4=%f\n",++(*p1),++(*p2),++(*p3),++(*p4));
return 0;
}
※포인터 선언의 잘못 된 예 :
....
int *pA; //쓰레기값으로 초기화 됨.
*pA=10; //*pA가 어디를 가리키는지 모르는 상태에서 10을 넣으려고 하니 오류가 발생함..
....
위 처럼 포인터를 선언 할 시 오류가 발생합니다. 그 이유는 바로 포인터 pA는 선언과 동시에 초기화를 안시켜주었기 때문입니다.
[실행결과]
반응형'Development > C' 카테고리의 다른 글
[열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기(연습문제13-1-2) (1) 2013.08.27 [열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기(연습문제13-1-1) (0) 2013.08.27 [열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기-두번째[포인터/배열 완전정복] (0) 2013.08.23 [열혈강의 C]Part2. 13장 - 포인터와 배열! 함께 이해하기-첫번째[포인터/배열 완전정복] (4) 2013.08.22 [열혈강의 C]Part2. 12장 - 포인터의 이해(연습문제12-1-3) (0) 2013.08.09 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-3) (0) 2013.08.07 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-2) (0) 2013.08.07 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-2-1) (0) 2013.08.07 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-1-3) (0) 2013.08.06 [열혈강의 C]Part2. 11장 - 1차원 배열(연습문제11-1-2) (0) 2013.08.01