联系:
数组是在变相的使用指针,两者基本用法差不多!
区别:
表示法 | 名称类型 | 存储方式 | sizeof | 赋值 | 初始化 |
数组 | 常量 | 静态存储区或栈 | 数组所占内存空间大小 | (1)一个一个单独赋值 (2)赋值给指针 | (1)char a[]={"Hello"}; (2)char b[]={'H','e','l','l'}; (3)char c[]={'H','e','l','l','o','\0'}; |
指针 | 变量 | 内存块 | 4/8 | (1)不可赋值给数组 (2)指针之间相互赋值 | (1)指向对象的指针:int *p=new int(0) ; delete p; (2)指向数组的指针:int *p=new int[n]; delete[] p; (3)指向类的指针:Class *p=new Class; delete p; |