int n1[500] n1是一个包含五百个int对象的数组
int * n2[500] n2是一个包含五百个int指针的数组
int * n3 = new int[500] n3是一个指针,指向的是一个包含五百个int对象的数组
const int * p 这里的p是一个指向整型常量的指针,它指向的值是不可以被修改的
int * const p 这里p是一个指向整型的常量指针,它指向的值可以修改,但是p不能指向其他变量
const int * const p 这里的p是一个指向整型的常量的常量指针,它指向的值不能修改,这个指针也不能指向其他变量
注:如果该关键字的右边是类型,则值是常量,如果该关键字的右边是指针变量,则该指针本身是常量。
new的返回值是一个内存地址.而内存地址被存储在指针中,因此应该将new的返回值赋值给一个指针,要在自由存储区建立一个unsigned short 对象,可以这样做:
unsigned short int *p;
p = new unsigned short int;
当然可以在声明指针的同时对其进行初始化,即可以在一行代码中完成上述操作:
unsigned short int *p = new unsigned short int ;
程序中的每个new都应该有对应的delete,跟踪指针指向的内存区域并且确保使用完毕后将其归还给自由存储区至关重要,为了安全起见,删除指针后,把其值设置为空(0)。
引用和其他变量的区别在于,声明引用的同时必须对其进行初始化.如果创建引用不给它初始化,将会出现编译错误.