同样是加4个字节,为什么p+1与p+sizeof(int)不一样?
如题:
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
int *p;
p = (int *)malloc(sizeof(int));
printf("p = %p\n", p);
printf("p+1 = %p\n", p+1);
//printf("p+sizeof(int) = %p\n", p+sizeof(int));
return 0;
}
#include "stdafx.h"
#include "stdio.h"
#include "stdlib.h"
int main(void)
{
int *p;
p = (int *)malloc(sizeof(int));
printf("p = %p\n", p);
//printf("p+1 = %p\n", p+1);
printf("p+sizeof(int) = %p\n", p+sizeof(int));
return 0;
}
p + x ;
//这个时候p的指针移动多少字节对应的p指针类的字节跨度的数乘以x
//通俗就是:以p指针类型为单位的移动!