1021指针变量的定义 令指针变量在使用前必须先定乂,且赋值, 以便使其指向特定类型的变量 指针变量的定义形式 类型标识符*标识符 其中类型标识符:指出指向何种数据类型的 变量 标识符:表示指针变量名 上一页下一页 返回
上一页 下一页 返回 10.2.1指针变量的定义 ❖ 指针变量在使用前必须先定义,且赋值, 以便使其指向特定类型的变量。 ❖ 指针变量的定义形式: ❖ 类型标识符 * 标识符 ❖ 其中:类型标识符:指出指向何种数据类型的 变量 ❖ 标识符:表示指针变量名
例如: nt 说明 nt *pl, * p2 In 1定义时指针变量名前必须 l=&i;p2=& 以‘*’开头,指出该变量 是 pl=8;*p2=12 指针变量 float *p3 2.引用时,指针变量前加 char* p4; *’表示指针变量所指 向的 对象(即变量 (注意两者的区别) 3指针变量一经定义就只可 指向类型的变里。 如县能指向啦变
上一页 下一页 返回 例如: int i, j; int *p1, *p2; p1=&i; p2=&j; i=3; j=5; *p1=8; *p2=12; float * p3; char * p4; 说明: 1.定义时指针变量名前必须 以‘ *’开头,指出该变量 是 指针变量。 2.引用 时 ,指针变量前加 ‘ * ’ 表示指针变量所指 向的 对象(即变量 ) (注意两者的区别)。 3.指针变量一经定义就只可 指向同类型的变量。 如:p3只能指向实型变量
10,22指针变量的引用 令通常,是将变量的地址赋给指针变量,但在 Turbo c中,整型数据(十进制、十六进制、八进制) 也可赋给指针变量, 如:int*pl pl=100; printf( %od\ n”,*p1) 令指针变量有两种运算符: 令&:取地址运算符 如:pl=&i 令*:取所指变量运算符。或者访问目标的运算符 如:*p1,它与i等价 上一页下一页 返回
上一页 下一页 返回 10.2.2 指针变量的引用 ❖ 通常,是将变量的地址赋给指针变量,但在Turbo c中,整型数据(十进制、十六进制、八进制) 也可赋给指针变量, ❖ 如: int *p1; ❖ p1=100; ❖ printf(“%d\ n”,* p1); ❖ 指针变量有两种运算符: ❖ &:取地址运算符. ❖ 如:p1=&i; ❖ * :取所指变量运算符。或者访问目标的运算符 ❖ 如:* p1, 它与i 等价
10,22指针变量的引用 编译时,系统将内存单元分配给变量后,程序执行时对 变量的操作实际上就是根据变量名査找与之对应的变 量的地址,然后对地址中的数据进行操作。 1.直接访问 k 冷2.间接访问*kp=*ip+*jp 令这里:ip,jp,kp:就称为指针变量,其值是另一个变量所对 应的内存地址。 上一页下一页 返回
上一页 下一页 返回 10.2.2 指针变量的引用 ❖ 编译时,系统将内存单元分配给变量后, 程序执行时对 变量的操作实际上就是根据变量名查找与之对应的变 量的地址,然后对地址中的数据进行操作。 ❖ 1.直接访问 ❖ k = i + j ❖ 2.间接访问 * kp = * ip + *jp ❖ 这里:i p, j p, k p:就称为指针变量,其值是另一个变量所对 应的内存地址
例:指针变量操作简例 令main() a=100,b=10 int a, b, pl, *p2 pl=100,*p2=10 令a=100:b=10 &a=fff&b=fff2 pI=&a; p2=&b; pl=fff, p2=fff2 &pl=fff0, &p2=ffee printf( a=%d, b=%od\ n a, b); printf(*p1=%d, * p2=%d n,,*pl, * p2) printf(" &a=%x, b=%,, &a, &b) printf( pl=%x, p2=%xn,, pl, p2); 令 printf((“&pl=%X,&p2=%X\n”,&pl,&p2) 上一页下一页 返回
上一页 下一页 返回 例: 指针变量操作简例 ❖ main( ) ❖ { int a, b, *p1, *p2 ; ❖ a=100; b=10; ❖ p1=&a; p2=&b; ❖ printf(“a=%d, b=%d\ n”,a, b); ❖ printf(“* p1=%d, * p2=%d\ n”, *p1, * p2); ❖ printf(“&a=%x,& b=%x\ n”,&a, &b); ❖ printf(“p1=%x, p2=%x\ n”, p1, p2); ❖ printf(“& p1=%x, &p2=%x\ n”, &p1, & p2); ❖ } a=100,b=10 *p1=100,*p2=10 &a=fff4,&b=fff2 p1=fff4,p2=fff2 &p1=fff0,&p2=ffee