6.2指针的运算指针运算的实质是地址的运算6.2.1*和“&"运算符&称为取地址运算符,&用以返回变量的指针,即变量的地址;称为指针运算符,用以返回指针所指向的变量的值。说明:“&”和“*”出现在说明语句和执行语句中时含义不同。10
10 6.2 指针的运算 指针运算的实质是地址的运算。 6.2.1“*”和“&”运算符 ➢ “&”称为取地址运算符, ➢ “&”用以返回变量的指针,即变量的地址; ➢ “*”称为指针运算符, ➢ “*”用以返回指针所指向的变量的值。 说明:“&”和“*”出现在说明语句和执行语句中时含义不同
6.2指针的运算指针初始化的一般格式:数据类型指针变量名=初始地址值:注:初始地址可以是变量、数组、函数、结构等的地址。例:int a =3, b = 5://初始化指针p,整型指针int *p=& a;p=&b;//修改指针p的值,从指向a改为指向bp=8;//*p是访问所指向实体的操作,即访问adouble d = 5.9 ;int*xp=&d;//错误:不能用double型实体去初始化整型指针11
11 6.2 指针的运算 指针初始化的一般格式: 数据类型 * 指针变量名 = 初始地址值; 注:初始地址可以是变量、数组、函数、结构等的地址。 例: int a = 3, b = 5; int * p = & a; //初始化指针p,整型指针 p = &b; //修改指针p的值,从指向a改为指向b * p = 8 ; //*p是访问所指向实体的操作,即访问a double d = 5.9 ; int * xp = & d ; //错误:不能用double型实体去初始化整型指针
6.2指针的运算6.2.1和“&运算符“*”出现在说明语句中,在被说明的变量之前时,表示说明的是指针。例:int * ptr;//说明ptr是一个int型指针12
12 6.2 指针的运算 6.2.1“*”和“&”运算符 ➢ “*”出现在说明语句中,在被说明的变量之前时,表示 说明的是指针。 例: int * ptr; //说明ptr是一个int型指针
6.2指针的运算>“*”出现在执行语句中或说明语句的初值表达式中时,表示访问指针所指向变量的值。例:int * ptr, y,y=*ptr,//将指针ptr所指向的值赋给变量yV“&”出现在变量说明语句中,位于被说明变量左边时,表示说明的是引用。例:int&ref://说明一个int型的引用ref13
13 6.2 指针的运算 ➢“*”出现在执行语句中或说明语句的初值表达式中时, 表示访问指针所指向变量的值。 例: int * ptr,y; y = * ptr; //将指针ptr所指向的值赋给变量y ➢“&”出现在变量说明语句中,位于被说明变量左边时, 表示说明的是引用。 例: int & ref ; //说明一个int型的引用ref
6.2指针的运算“&”在给变量赋初值时,出现在赋值号右边或在执行语句中作为一元运算符出现时表示取变量的地址。例:*p1&xp1Xptr=&x;//取变量x的地址有了指针运算符,可以进行指针运算。例:aint ;,3地址:88216ptr =& x;*ptr=5;//将常量5存入变量x中88216ptrcout<<*ptr<<endl;//输出514
14 6.2 指针的运算 ➢“&”在给变量赋初值时,出现在赋值号右边或在执行语 句中作为一元运算符出现时表示取变量的地址。 例: ptr = & x ; //取变量x的地址 ➢ 有了指针运算符,可以进行指针运算。 例: int x ; ptr = & x ; * ptr = 5 ; //将常量5存入变量x中 cout << * ptr <<endl; //输出5 p1 &x x *p1 5