全部都忘了,NND。这记性越来越不好了。
int (*pz)[2]:pz指向包含两个int值的数组。
int *pz [2]:创建两个指向单个int值的指针。
int *p=123;//是给p赋值为123,p是一个指针,123 编辑器默认为 const int, 所以会报错!
int *p=0; //将指针初始值设为0, 0是一个特殊的常量,编辑器根据不同的情况进行处理,这里将它视为NULL指针。
int *p;//定义一个指向整形的指针,但是没有给它赋值,p现在是一个随机值!
*p=123; //给p指向的内存赋值为123,由于p没有赋初值,所以p指向的内存位置是随机的,虽然编辑的时候没有错,但很可能发生运得时的错误,因为程序将修改未知区域的内存!
//应该这样:
int k;
int *p = &k;
*p = 123; //Same as k=123;
int *p = new int[1];
*p = 123;
----------------------------------
int *p = new int(123);//开空间并初始化其值为123。
delete p;
int *p = new int[123];//开数组,不能初始化,规则这么说的。
delete [] p;//new的时候用了[],delete的时候也用[]