指针及其应用 指针变量的引用 指针变量必须先赋值,再使用 自标要求 指针变量赋值有两种方法: int i,*p=&i; 1、将某个已经定义了的普通变量的首地址赋给 讲课提纲 指针变量: 2、调用C语言的动态内存分配函数或运算符为指 讲课内容 针变量在内存的动态存储区找到一个可用区域。 例 int *p; 课后作业 但 p=4000;
目标要求 课后作业 讲课提纲 讲课内容 指针及其应用 指针变量的引用 指针变量必须先赋值,再使用 例 int *p; 但 p=4000; 不合法 指针变量赋值有两种方法: 1、将某个已经定义了的普通变量的首地址赋给 指针变量; 2、调用C语言的动态内存分配函数或运算符为指 针变量在内存的动态存储区找到一个可用区域。 int i,*p=&i;
指针变量必须先赋值,再使用 main( { int i=10; 自标 int *p ·. 2000 整型变量 *p=i, 2002 10 printf(od",*p); 2004 讲课 2006 危险: 2008 一指针变量p 200A 讲课 随机 main( 200C int i=10,k; int *p. 课后 p-&k; *p=i, printfdp)
目标要求 课后作业 讲课提纲 讲课内容 例 main( ) { int i=10; int *p; *p=i; printf(“%d”,*p); } 危险! 例 main( ) { int i=10,k; int *p; p=&k; *p=i; printf(“%d”,*p); } . . 2000 2008 200C 200A 整型变量i 10 指针变量p 2002 2004 2006 随机 指针变量必须先赋值,再使用
指针及其应用 ● 指向变量的指针 例:指针变量的基本用法: 自标要求 #include〈stdio.h> void main() {int x,y; //定义两个普通变量 讲课提纲 int *p1,*p2; /定义两个指针变量 p1=&x; x=100; ◆> *p1 讲课内容 printf("\n x=%d,*p1=%d "x,*p1) p2=&y; ◆*p2 运行结果: 课后作业 *p2=200; printf("\n y=%d,*p2=%d "y,*p2) x=100,*p1=100 y=200,*p2=200
目标要求 课后作业 讲课提纲 讲课内容 指针及其应用 指向变量的指针 例: 指针变量的基本用法: #include <stdio.h> void main() { int x , y ; //定义两个普通变量 int *p1, *p2; //定义两个指针变量 p1=&x; x=100; printf("\n x=%d, *p1=%d ",x,*p1); p2=&y; *p2=200; printf("\n y=%d, *p2=%d ",y,*p2); } 运行结果: x=100,*p1=100 y=200,*p2=200 x *p1 y *p2
0●●。● 。直接访问与间接访问 ■直接访问:按变量地址存取变量值 ■间接访问:通过存放变量地址的变量去访问变量 例 i=3; 直接访问 2000 整型变量i 2002 204 2004 2006 2008 一变量i pointer 200A 2000 指针变量 200C 例 *i pointer=20: 间接访问
目标要求 课后作业 讲课提纲 讲课内容 ◼ 直接访问与间接访问 ◼ 直接访问:按变量地址存取变量值 ◼ 间接访问:通过存放变量地址的变量去访问变量 例 i=3; -直接访问 指针变量 . . 2000 2008 200C 200A 整型变量i 10 变量i_pointer 2002 2004 2006 2000 3 例 *i_pointer=20; -间接访问 20
● ●●● 例 k=i; 直接访问 k=*i pointer; 间接访问 自标要求 2000 整型变量1 2002 10 讲课提纲 2004 ←一整型变量k 2006 10 2008 一变量i pointer 讲课内容 200A 2000 指针变量 200C 课后作业
目标要求 课后作业 讲课提纲 讲课内容 指针变量 . . 2000 2008 200C 200A 整型变量i 10 变量i_pointer 2002 2004 2006 2000 整型变量k 例 k=i; -直接访问 k=*i_pointer; -间接访问 10 例 k=i; k=*i_pointer;