1:基本概念
指针:指针广义上来说就是一个地址。
指针变量:指针变量就是存放地址的变量。
指针变量的定义:
int *p ;//定义了一个指向整型变量的指针变量p
指针变量初始化:
int a=20;//定义了一个整型变量a=20;
int *p = &20;//指针变量p存放的就是20这个元素的地址。& 为取地址符
2:基本运算含义
指针变量的引用:
指针变量指的就是存放地址的变量,那对指针变量的引用主要涉及到两个方面:
(1)对指针变量本身的引用,就是说对指针变量进行的各种运算
(2)对指针变量所指向的目标,对指针进行引用。
通俗的说上述两种情况,一种是对地址的运算,一种是对地址所指向的变量进行间接引用。
3:基本操作符
跟指针相关的操作符主要有3个:&、*、[]
(1)&:取地址运算符,
(2)*:指针运算符-----取指针所指向的运算符。即:取指针变量(地址)所指向的变量值。
(3)[]:下标操作符-----取指针所指向的操作符。即:取指针变量(地址)所指向的变量值,一般在数组运算中使用的比较多。
4:C++中点操作符、箭头操作符和指针之间的相互关系。
点操作符:当调用成员函数时,(通常)指定函数要操作的对象,运用点操作符(.)
e.g.
item.same_isbn;
item是一个对象,调用item这个对象的same_isbn这个成员,所以用点操作符。
箭头操作符:
e.g.
类:sales_item
有一个指向sales_item这个类的指针:sales_item *sp = &item1 //有一个指向sales_item类的指针,并且用对象item1来初始化。
此时需要用箭头操作符来调用指定对象的same_item成员函数:我们知道调用一个对象的成员函数可以用点操作符来实现:【对象.same_isbn】。
又可以知道这个对象是指向sp当前所指向的:即*sp就是指向了一个对象。此时可以更改为:*sp.same_item,由于优先级别的限制:
(*sp).same_isbn <=>sp->same_isbn;//此时就获得了sp对象的same_isbn成员。