一、数组中括号与指针的关系
1、[]的本质和 *p 是一样的,只不过符合程序员的阅读习惯。
2、buf5是一个指针(数组首元素的地址),是只读的常量,即buf5是一个常量指针
C编译器这样做的原因:为了保证,在析构内存的时候,buf5所指向的内存空间安全释放。
若buf5可以改变,假设加上了64,那么在析构其所指向的内存空间时,只能析构掉从buf5(64)开始到128的这部分,而无法析构掉前面的一部分
3、p普通指针可以加减,但是数组首元素的地址不可以加减(因为是常量指针)。
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
//通过数组下标和指针
void main()
{
int i = 0;
char *p = NULL;