728x90
반응형
포인터를 이해하기에 좋은 과제...?
#include <stdio.h> void main() { int iValue[10] = { 10,20,30,40,50,60,70,80,90,100 }; // 10개의 정수를 입력 받은 배열 선언 int *p = &iValue[7]; // iValue[7]의 주소값을 *p에 넣음 printf("\n\n ***** program start ***** \n\n"); printf("*p = %d\n", *p); // *p의 값은 iValue[7]의 주소에 저장되어 있던 값 printf("*p + 1 = %d\n", *p + 1); // *p의 값 + 1 --> 80 + 1 printf("*(p+1)=%d \n", *(p + 1)); // 포인터를 대상으로 1증가 시키면 n x sizeof(type)의 크기만큼 주소값이 증가 // 그러므로 iValue[7]의 주소값 보다 4증가한 iValue[8]의 값을 출력 printf("*p = %p, *(p + 1) = %p, *(p + 2) = %p \n", p, (p + 1), (p + 2)); printf("*p++ = %d \n", *p++); // *p++을 해주었지만 후치연산자는 그 다음 행부터 적용 되기 때문에 값이 그대로 printf("*p++ = %d \n", *++p); // *++p는 *(p+1)과 같은 의미로 볼 수 있다. 이전 행의 후치연산을 통해 *(p + 2)가 됨 printf("\n ***** program end ***** \n\n"); }
반응형
'Programming > C' 카테고리의 다른 글
[C] 난수 최대값 구하기 (0) | 2017.04.10 |
---|---|
[C] 짱짱 포인터 분석 2 (0) | 2017.04.10 |
[C] N x N 행렬 오름차순 ㄹ 정렬 (0) | 2017.04.03 |
[C] N x N 행렬 오름차순 역순 정렬 (0) | 2017.04.03 |
[C] N x N 행렬 오름차순 정렬 (0) | 2017.04.03 |
댓글