char a[] = "sunxuesheng";
char *b = "sunxuesheng";
char c[] = "sunxuesheng";
char *d = "sunxuesheng";
printf("%p, %p, %p, %p\n", a, b, c, d);
printf("%p, %p, %p, %p\n", a + 1, b + 1, c + 1, d + 1);
根据输出可以看出、a和c的地址是不同的、b和d的地址是相同的、
因为b和d是指针变量,它们同指向“sunxuesheng”这个字符串、
而a和c不同、它们是两个字符数组,系统为它们分配了不同的地址空间,
然后把字符串复制到该地址空间中、
所以说、字符指针只是一个地址,而字符数组呢、它是实实在在的在内存中存在着、