指针与指针变量 指针:一个变量的地址 指针变量:专门存放变量地址的变量叫 指针 2000 整型变量i 2001 10 变量的地址 变量的内容 2002 2003 2004 变量 pointer 指针变量变量地址(指针) 指向 地址存入 指针变量 变量变量值
…... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 指针与指针变量 指针:一个变量的地址 指针变量:专门存放变量地址的变量叫~ 2000 指针 指针变量 变量的地址 变量的内容 指针变量 变量 变量地址(指针) 变量值 指向 地址存入 指针变量
★&与*运算符 含义 单目运就滑笨害法算转为 琏聋量的内容 优先级解优先级2 pointer *1 pointer &i pointer 2000 10 结合性:自 2000 整型变量i 2001 10 i pointer=&i=&*i pointer) 2002 *i pointer=*(&i) 2003 2004 变量 pointer 05 2666 2006 指针变量 I pointer 指针变量,它的内容是地址量 pointer--指针的目标变量,它的内容是数据 & I pointer-指针变量占用内存的地址
&与*运算符 ❖含义 含义: 取变量的地址 单目运算符 优先级: 2 结合性:自右向左 含义: 取指针所指向变量的内容 单目运算符 优先级: 2 结合性:自右向左 两者关系:互为逆运算 理解 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 指针变量 i_pointer-----指针变量,它的内容是地址量 *i_pointer----指针的目标变量,它的内容是数据 &i_pointer---指针变量占用内存的地址 2000 10 i_pointer *i_pointer &i_pointer i i_pointer &i &(*i_pointer) i *i_pointer *(&i) i_pointer = &i = &(*i_pointer) i = *i_pointer = *(&i)
★直接访问与间接访问 ◆直接访问:按变量地址存取变量值 ◆间接访问:通过存放变量地址的变量去访问变量 例i=3 直接访问 20 整型变量i 2001 20 2002 2003 2004 变量 i pointer 2005 2666 指针变量 2006 例* I pointer=20: 间接访问
直接访问与间接访问 ❖直接访问:按变量地址存取变量值 ❖间接访问:通过存放变量地址的变量去访问变量 例 i=3; -----直接访问 指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 3 例 *i_pointer=20; -----间接访问 20
直接访问 k=vi pointer 间接访问 000 整型变量1 2001 10 2002 整型变量k 2003|-1+0 2004 变量 i pointer 2005 2666 指针变量 2006
指针变量 …... …... 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 整型变量k 例 k=i; --直接访问 k=*i_pointer; --间接访问 10 例 k=i; k=*i_pointer;
§9.2指针变量 指针变量与其所指向的变量之间的关系 pointer 变量i K>*i pointer 2000 &i— 1 pointer *i pointer B3 i_pointer=3 指针变量的定义 一般形式:[存储类型]数据类型*指针名; 例/int Aeat蝽示定义指针变量 标识符 指计变量就蒲c是*e算符型 注意: 1、int*pl,*p2;与int*pl,p2; 2、指针变量名是plp2,不是p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值
§9.2 指针变量 指针变量与其所指向的变量之间的关系 指针变量的定义 一般形式: [存储类型] 数据类型 *指针名; 3 变量i 2000 i_pointer *i_pointer i *i_pointer &i i_pointer i=3; *i_pointer=3 3 变量i 2000 i_pointer *i_pointer i *i_pointer &i i_pointer i=3; *i_pointer=3 指针变量本身的存储类型 指针的目标变量的数据类型合法标识符 表示定义指针变量 不是‘*’运算符 例 int *p1,*p2; float *q ; static char *name; 注意: 1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,变量值不确定,应用前必须先赋值