주석단 설명이 맞나 안 맞나 깅가밍가 하네요. 틀린 부분은 분석좀 해주시면 감사^^
#include <stdio.h>
void main(void)
{
int a[] = {10, 20, 30};
int b[] = {100, 200, 300};
int *p;
int *q;
p = a;
printf("%d\n", *p);
printf("%d, %d, %d\n", a[0], a[1], a[2]);
printf("%d\n", (*p)++); // *p가 연산되고 p+1
printf("%d, %d, %d\n", a[0], a[1], a[2]);
printf("%x\n", p);
printf("%d\n", *++p); // p의 주소가 ++된 것의 *p
printf("%x\n", p);
printf("%d, %d, %d\n", a[0], a[1], a[2]);
printf("%d\n", ++*p); // 현재 *p 내용의 ++
printf("%x\n", p);
printf("%d, %d, %d\n", a[0], a[1], a[2]);
q = b;
printf("\n");
printf("%d\n", *(q++)); // q의 주소의 *q가 연산되고 q의 주소가 ++
printf("%d, %d, %d\n", b[0], b[1], b[2]);
printf("%d\n", *(++q)); // q의 주소가 ++된 후 *연산
printf("%x\n", q);
printf("%d, %d, %d\n", b[0], b[1], b[2]);
printf("%d\n", ++(*q)); // *q의 ++이 연산
printf("%x\n", q);
printf("%d, %d, %d\n", b[0], b[1], b[2]);
}
|