#define _CRT_SECURE_NO_WARNINGS
#include "stdlib.h"
#include "stdio.h"
#include "string.h"
int main()
{
int buf1[100] = { 0 };
int buf2[100] = { 0 };
int *p1 = buf1;
int *p2 = buf2;
printf("sizeof %d,%d\n", &buf1, buf1);/
printf("sizeof %d,%d\n", (&buf1)+1, buf1+1);
system("pause");
}
为什么第二次printf(&buf1)+1出来的地址会和第一次printf出来的结果一样
不一样啊,0816,1216
你自己的截图,结果也不一样啊,
前面2个打印的是数组的首地址
第三个是首地址+400 即 100 *4 ,100是因为数组有100项,4是因为int类型4个字节(在此环境)
第四个是首地址加4, 4是指针占4个字节