question:
1.什么是指针?
2.指针与引用的异同?何时使用指针,何时使用引用?
1.C++提供两种字符串:string类对象和C风格的基于指针的char*字符串。
2.常量指针自身不可改变,而指向的目标可以改变。
使用const修饰指针:
①指向非常量数据的非常量指针:如 int *ptr ;
应用:间接引用指针使其修改数据,并修改指针使其指向其他数据。
②指向常量数据的非常量指针:如 const int *ptr
应用:可使用这种指针为函数接受数组实参,函数处理数组的每个元素,但不允许修改数据。
③指向非常量数据的常量指针:如 int *const ptr
应用:使用这种指针接受数组做为函数的实参,在函数中使用数组下标表示法访问数组元素。
④指向常量数据的常量指针: 如 const int *const ptr
应用:若一个函数接受数组作为参数,并且用数组下标表示法读取且不修改数组,应使用这种指针。
3.sizeof 的操作数是类型名如int时,需要使用圆括号,如 sizeof (int)
当操作数是变量名或常量时,则不需要使用圆括号。
4.所有指针类型都可以赋给void* 类型的指针,而不需要进行强制的类型转换,相反则需要使用强制类型转换。
5.引用数组元素的四种表示方法:
下标表示法,将数组名作为指针的指针/偏移量表示法,指针下标表示法,用指针的指针/偏移量表示法。
6.指针数组: