★直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量 例 i=3; 直接访问 2000 整型变量i 2001 20 2002 2003 2004 ←一变量i pointer 2005 2000 指针变量 2006 例 *i pointer=20: 间接访问
直接访问与间接访问 直接访问:按变量地址存取变量值 间接访问:通过存放变量地址的变量去访问变量 例 i=3; -直接访问 指针变量 . . 2000 2004 2006 2005 整型变量i 10 变量i_pointer 2001 2002 2003 2000 3 例 *i_pointer=20; -间接访问 20
例 k=i; 直接访问 k=*i pointer; 间接访问 2000 整型变量i 2001 10 2002 ←一整型变量k 2003 0 2004 ←一变量i pointer 2005 2000 指针变量 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;
10.2.指针变量的定义和初始化 指针变量只能进行赋值运算、部分算术运算及关系运算 指针变量与其所指向的变量之间的关系 i pointer 变量i i*i pointer 2000 3 &iipointer *i pointer i=3;*i pointer=3 在分析有关指针的程序时,画图是很好的方法:
10.2.指针变量的定义和初始化 指针变量只能进行赋值运算、部分算术运算及关系运算 指针变量与其所指向的变量之间的关系 3 变量i 2000 i_pointer *i_pointer i *i_pointer &i i_pointer i=3; *i_pointer=3 在分析有关指针的程序时,画图是很好的方法:
★指针变量的定义(先定义,后使用) 类型说明符 指针变量名; 不是‘*”取内容运算符,*号 合法标识符 表明后面是指针变量、但不 时指舭森量有的2部指向浮发型变量的指针变量pl和p2 char *name; 指向字符型变量的指针变量name 注意:1、int*pl,*p2,与int*pl,p2; 2、指针变量名是pl,p2,不是*pl,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,值不确定,应用前必须先赋值 5、指针变量的值只能是某个数据的地址,只允许取 正整数,区别于整型变量
不是‘ 指针的目标变量的数据类型 *’取内容运算符,*号 合法标识符 表明后面是指针变量,但不 是指针变量名的一部分 例 float *p1,*p2; 指向浮点型变量的指针变量p1和p2 char *name; 指向字符型变量的指针变量name 注意:1、int *p1, *p2; 与 int *p1, p2; 2、指针变量名是p1,p2 ,不是*p1,*p2 3、指针变量只能指向定义时所规定类型的变量 4、指针变量定义后,值不确定,应用前必须先赋值 5、指针变量的值只能是某个数据的地址,只允许取 正整数,区别于整型变量。 指针变量的定义(先定义,后使用) ❖类型说明符 * 指针变量名;
★指针变量的初始化 定义指针变量的同时给指针变量赋初值 类型说明符 指针变量名=初始地址值; 任何指针变量使用前要进行定盛蘑彝变叠则禁止使用。 不是赋给目标变量 例 int i; int *p=&i; 变量必须已说明过 类型应一致 例 int i; 例 int *n&p=&i; int i;int *q-p 用已初始化指针变量作初值
指针变量的初始化 定义指针变量的同时给指针变量赋初值 类型说明符 *指针变量名=初始地址值; 赋给指针变量, 不是赋给目标变量 例 int i; int *p=&i; 变量必须已说明过 类型应一致 例 int *p=&i; int i; 例 int i; int *p=&i; int *q=p; 用已初始化指针变量作初值 任何指针变量使用前要进行定义并赋值,否则禁止使用