int *pa = NULL; int *pb = pa + 15; printf("%x\n", pb); char *pca = NULL; char *pcb = pca + 15; printf("%x\n", pcb); short *psa = NULL; short *psb = psa + 15; printf("%x\n", psb);
上面代码的结果是:
3c
f
1e
分析:
int型指针,每次加1会向后移动一个int大小的距离,在32位情况下,移动32bit,即4个字节。
pa + 15,即向后移动了15个int的距离,即15 * 32 bit = 15 * 4字节
指针中数字是记录字节数的,故pb = 60 = 3c (16进制)
其他分析类似。
时间: 2024-10-22 10:07:36