资源描述:
《最新[其它考试]二级C语言考试资料大全教学讲义PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、[其它考试]二级C语言考试资料大全注意:内存单元的地址与内存单元中的数据是两个完全不同的概念。内存地址──内存中存储单元的编号10.1指针的概念变量与地址程序中:inti;floatk;内存中每个字节有一个编号-----地址…...…...2000200120022005内存02003ik编译或函数调用时为其分配内存单元&与*运算符含义含义:取变量的地址单目运算符优先级:2结合性:自右向左含义:取指针所指向变量的内容单目运算符优先级:2结合性:自右向左…...…...2000200420062005整型变量i10变量i_pointer2001200220032000指针变量i_p
2、ointer-----指针变量,它的内容是地址量*i_pointer----指针的目标变量,它的内容是数据&i_pointer---指针变量占用内存的地址200010i_pointer*i_pointer&i_pointerii=*i_pointer=*(&i)i_pointer=&i10.2指针变量指针变量的定义一般形式:数据类型*指针名;合法标识符指针的目标变量的数据类型表示定义指针变量不是‘*’运算符例int*p1,*p2;float*q;注意:1、int*p1,*p2;与int*p1,p2;2、指针变量名是p1,p2,不是*p1,*p23、指针变量只能指向定义时所规定类型
3、的变量4、指针变量定义后,变量值不确定,应用前必须先赋值指针变量的初始化一般形式:[存储类型]数据类型*指针名=初始地址值;赋给指针变量,不是赋给目标变量例inti;int*p=&i;变量必须已说明过类型应一致例int*p=&i;inti;例inti;int*p=&i;int*q=p;用已初始化指针变量作初值例main(){inti=10;int*p;*p=i;printf(“%d”,*p);}危险!例main(){inti=10,k;int*p;p=&k;*p=i;printf(“%d”,*p);}指针变量必须先赋值,再使用…...…...2000200420062005整型变
4、量i10指针变量p200120022003随机例输入两个数,并使其从大到小输出main(){int*p1,*p2,*p,a,b;scanf("%d,%d",&a,&b);p1=&a;p2=&b;if(a
5、——地址传递特点:共享内存,“双向”传递swap(intx,inty){inttemp;temp=x;x=y;y=temp;}main(){inta,b;scanf("%d,%d",&a,&b);if(a
6、;}main(){inta,b;scanf("%d,%d",&a,&b);if(a
7、ter_1,pointer_2);printf("%d,%d",a,b);}…...20002008200A200220042006200C200E2010...59整型变量a整型变量b(main)指针pointer_1指针pointer_220002002(swap)指针p1指针p2整型p5920002002COPY5例将数从大到小输出(用指针类型的数据作函数参数)swap(int*p1,int*p2){intp;p=*p1;*p1=*p2;*p2=p;}main(){