#include
typedef unsigned long ulong;
int main(void)
{
char *pc = NULL;
int *pi = NULL;
double *pd = NULL;
long double *pld = NULL;
printf("%5lu%5lu\n%5lu%5lu\n%5lu%5lu\n",
(ulong)(pc+1), (ulong)(pi+1),
(ulong)(pd+1), (ulong)(pld+1),
(ulong)(pc+3), (ulong)(pld+3));
return 0;
}
NULL은 0번지를 포인터하므로 pc, pi, pd, pld는 초기화 후에 0 값을 가진다.
pc+1 : pc는 char형 포인터이므로 1바이트 증가
pi+1 : pi는 int형 포인터이므로 4바이트 증가
pd+1 : pd는 double형 포인터이므로 8바이트 증가
pld+1 : long double형은 12바이트인거 같다.
pc+3 : 3바이트 증가
pld+3 : 36바이트 증가