C언어 심화 - 11.포인터
C언어 포인터에 대한 설명입니다.
과제
아래의 코드는 int형 변수 a에 저장된 값을 포인터 변수 p를 이용해 불러오는 코드입니다.
#include<stdio.h>
int main()
{
int *p;
int a = 3;
p = &a;
printf("a의 주소값: %d\n", p);
printf("a의 주소에 저장된 값: %d\n", *p);
return 0;
}
Q1.
위의 코드를 실행해보고 결과를 확인해 보고 왜 그런지 생각해 봅시다.
Q2.
위의 코드에서 마지막 prtinf함수 아래에 *p=15라는 값을 저장후 변수 a의 값을 출력해 봅시다.
아래의 코드는 10개의 배열변수를 포인터를 이용해 출력하는 예제 입니다.
#include<stdio.h>
int main()
{
int *p;
int i;
int a[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
p = a;
for(i = 0; i < 10; i++)
{
printf("p + %d에 저장된 주소값: %d\n", i, p + i);
printf("p + %d의 주소에 저장된 값: %d\n\n", i, *(p + i));
}
return 0;
}
Q3.
위의 코드를 실행해보고 결과를 확인해 보고 왜 그런지 생각해 봅시다.
Q4.
위의 코드에서 int변수 a와 int 포인터 변수 p를 char형으로 변경후 결과를 비교해 봅시다.
Q5.
Q4의 내용처럼 변수를 float, double등으로 바꿔보고 결과를 확인해 봅시다.