一.指针相关概念
1.指针变量的声明:
任意数据类型 (int/string/char等) *标识符(ptr等),比如 int *ptr 定义了一个指向int型数据的指针变量。指针数组:数组的每个元素都是指向同一类型的指针,格式:数据类型 *数组名[下标表达式],下标表达式指出数组元素的个数,数组名是这个数组的首地址,数组名是指针常量,比如 int *pa[3]。
关于指针类型的补充:
(1) 指向常量的指针:
int a; const int *b=&a; int c; b=&c;//正确,指针b本身的内容可以改变 *b=1;//编译出错,b指向的内容不能改变
(2)指针类型的常量:
int *const b=&a; b=&c;//出错,b本身的内容不能改变
指针没有初始化就赋值是相当危险的,因为它指向内存中一个随机地址。
(3)指向类的非静态成员的指针
可以使指针直接指向对象的成员,进而通过指针访问对象的成员。声明形式:
类型说明符 类名::*指针名
类型说明符 (类名::*指针名)(参数表)
访问数据成员时形式:
对象名.*类成员指针名
对象指针名->*类成员指针名
#include <iostream>
using namespace std;
class Test{
int x,y;
public: