数组和指针--C++复习(3)
一、数组 ? ? ? ?? 1.数组的长度是固定的,而指针可以像迭代器来遍历数组; ? ? ?? 2.数组不仅可以用来保存基本类型,还可以用来保存类类型: 1 class Per{ 2 **** 3 }; 4 5 const int size =2; 6 Per pers[size]; 7 Per p1; 8 Per p2; 9 pers[0]=p1; 10 pers[1]=p2;//那么就可以通过数组来获取类对象的不同内容 ? ? ?? 3.如果元素为类类型,调用默认构造函数进行初始化,如果没有默认构造函数,应显式调用其他构造函数。 ? ? ?? 4.数组不能直接复制或赋值。 二、指针 ? ? ?? 1.指向另外一种变量地址的变量,使用指针可以间接操作指向的变量对象; ? ? ?? 2.通过指针来操作数组: 1 int arr[3]={1,2,3}; 2 int *ap=arr;//把首地址赋给ap 3 int *ap1=ap+1;//指针加1相当于把指针向后移1位,加n移n位 ? ? ?? 3.指向空:int *p=0;或者int *p=NULL; ? ? ?? 4.void *指针,可以保存任何类型对象的地址,一般用于函数的返回值或者是形参。 ? ? ?? 5.指针和应用的区别:引用总是指向某个对象,而且定义引用时必须初始化,而指针可以不用初始化;给引用赋值修改的是该引用所关联的对象的值。 ? ? ?? 6.指针和const: ? ? ?? (1)指向const对象的指针,如: 1 const float pi=3.14; 2 const float *ppi; 3 *ppi=π 4 *ppi=3.15;//这句错误,不能通过*ppi来修改const对象pi的值 ? ? ?? (2)const指针,指针本身不能被修改,如: 1 int i=100,j=200; 2 int *const pi=&i;//指针pi不能被修改 ? ? ?? (3)指向const对象的const指针 1 const double pi=3.14; 2 const double *const pi_p=π//这里二者都不能被修改 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |