一、指针+1
1、指针+1并非该指针变量加一个字节,指向下一个字节地址,而是加一个单元格
2、计算指针+1具体加几个字节的方法是,给指针去掉一个型号,让后用sizeof()求出字节大小
例:int* p;
p++;
//指针p+1,加4字节 sizeof(int) == 4
double* p;
p++;
//指针p+1,加8字节 sizeof(double) == 8
char **p;
p++;
//指针p+1,加4字节 sizeof(char *) == 4 注意:只用去掉一个*
接下来利用一段程序详细练习这一规律:
int main()
{
int* p = int* 100;
printf("%d\n",p+4); // 116 p为int*类型,因此p+1就意味着加sizeof(int)==4字节,即p的值增大了4.而p+4就是加了4次 1,就是说p增大了4*4=16 故:100+4*4=116
printf("%d\n",(char*)p+4);// 104 同理:100+sizeof(char)*4=104
printf("%d\n",(short*)p+4);// 108 同理:100+sizeof(short)*4=108