制作:方斌 指针变量的赋值:例 pointer 1= &i pointer_ 2=&j; 注意,指针变量中只能存放地址,不能将一个非地址类型的数据 (如常数等)赋给一个指针变量,如 pointer_ 1=100; X 也可以在定义指针变量的同时指定其初值,如、 Int a' int *p=&a
制 作:方 斌 指针变量的赋值:例、 pointer_1 = &i; pointer_2 = &j; 注意,指针变量中只能存放地址,不能将一个非地址类型的数据 (如常数等)赋给一个指针变量,如: pointer_1 = 100; 也可以在定义指针变量的同时指定其初值,如、 int a; int *p = &a;
制作:方斌 二、指针变量的引用 有两个运算符可以引用指针变量: (1)&:取地址运算符。如 pointer1=&; (2)*:指针运算符。用于访问指针变量所指向的变量。 如果定义: int L] int pointer; pointer 1 =&i 指针变量 pointer_1指向变量i,现在,对变量i有两种访问方式: (1)直接访问。如i=100;j=i (2)通过指针变量间接访问。如: * pointer 1=100: j=*pointer_ 1
制 作:方 斌 二、指针变量的引用 有两个运算符可以引用指针变量: (1)&:取地址运算符。如 pointer_1 = &i; (2)*:指针运算符。用于访问指针变量所指向的变量。 如果定义: int i,j; int *pointer_1; pointer_1 = &i; 指针变量pointer_1指向变量i,现在,对变量i有两种访问方式: (1)直接访问。如 i = 100; j = i。 (2)通过指针变量间接访问。如: *pointer_1 = 100; j = *pointer_1;
制作:方斌 到这里为止,用指针变量间接访问另一个变量,似乎显得多 余,但是,在复杂程序设计中,这种间接访问可以大大提高 程序的效率并使程序非常简洁。因为,只要改变指针变量的 值,就可以访问其他变量。例、 int Lj int *p; p=&i;(p指向i) p=100;(*p访问i) p=&j;(p指向j *p=200;(*p访问j
制 作:方 斌 到这里为止,用指针变量间接访问另一个变量,似乎显得多 余,但是,在复杂程序设计中,这种间接访问可以大大提高 程序的效率并使程序非常简洁。因为,只要改变指针变量的 值,就可以访问其他变量。例、 int i,j; int *p; p = &i; (p指向i ) *p = 100; (*p访问i) p = &j; (p指向j) *p = 200; (*p访问j)
制作:方斌 [例10.1] void main ( viod) int a, b: int* pointer1,* pointer2;/*定义指针变量*/ a=100;b=10; pointer_1=&a pointer_ 2=&b: printf ("%d, %od\",a, b printf("/od, %od\n"*pointer_ 1, pointer_2): 程序运行结果: 100,10 100,10
制 作:方 斌 [例10.1] void main(viod) { int a,b; int *pointer_1, *pointer_2; /* 定义指针变量 */ a = 100; b = 10; pointer_1 = &a; pointer_2 = &b; printf("%d,%d\n",a,b); printf("%d,%d\n",*pointer_1,*pointer_2); } 程序运行结果: 100,10 100,10
制作:方斌 说明: 1、在定义指针变量时,还未规定它指向哪一个变量,此时不能用*运算符 访问指针。只有在程序中用赋值语句具体规定后,才能用*运算符访问所 指向的变量。例 int a; int a; mt*p;(未规定指向哪个变量)mt*p;(未规定指向哪个变量) *p=100; p=&a;(规定指向a) *p=100; 这种错误称为访问悬挂指针 (suspeded pointer 正确
制 作:方 斌 说明: 1、在定义指针变量时,还未规定它指向哪一个变量,此时不能用*运算符 访问指针。只有在程序中用赋值语句具体规定后,才能用*运算符访问所 指向的变量。例: int a; int *p; (未规定指向哪个变量) *p = 100; 这种错误称为访问悬挂指针 (suspeded pointer) int a; int *p; (未规定指向哪个变量) p = &a; (规定指向a) *p = 100; 正确