1 / 28
文档名称:

招商加盟ppt 餐饮 图文.ppt

格式:ppt   大小:2,114KB   页数:28页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

招商加盟ppt 餐饮 图文.ppt

上传人:yixingmaob 2018/3/8 文件大小:2.06 MB

下载得到文件列表

招商加盟ppt 餐饮 图文.ppt

文档介绍

文档介绍:unit8 指针
q
ACF00
p
FC100
int x=5;
&x
5
x
FF011
p=&x;
int *p;
*p=*p+1;
x=x+1;
printf("%d",x);
scanf("%d",&x);
printf("%d",*p);
scanf("%d",p);
&p
q=&p;
int **q;
**q=**q+1;
printf("%d",**q);
scanf("%d",*q);
导引:
本章学****内容







-函数指针
-指针函数

访问的数据类型*指针变量名;
(1)int *px;
(2)float *py;
(3)char *pc;
指针变量可以接受的赋值: 0(NULL) &变量同类型的指针


:
*指针变量名
(1)int x; px=&x;
(2)float y; py=&y;
(3)char c; pc=&c;
(1)*px=3; (*px)++;
(2)*py=;
(3)*pc='A'; *pc<'B';
int x,*px=&x;
(1)x=3; x++;
(2)y=;
(3)c='A'; c<'B';
x
y
c
px
py
pc
int x; float y; char c;
px=&y;
pc=&x;
错误辨析:
(1)int a=4;
(2)float x=;
(3)char ch='A';
练****1: 分别定义指针变量将下列各变量的值增1后输出
(1)int *pa; pa=&a; (*pa)++; printf("%d",*pa);
(2)float *px; px=&x; (*px)++; printf("%f",*px);
(3)char *pc; pc=&ch; (*pc)++; printf("%c",*pc);
a
4
pa
x

px
ch
A
pc
a
5
pa
x

px
ch
B
pc
区分*p++ (*p)++ *(p++)
参见课本p224中间部分
练****2: 将下列程序1求三个整数的最大值程序改写为指针形式实现,即用指针访问三个任务数据.
程序1:
#include <>
void main()
{int a,b,c,max;
printf("enter a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
max=a;
if(b>max) max=b;
if(c>max) max=c;
printf("max=%d\n",max);
}
程序2:
#include <>
void main()
{int a,b,c,max;
int *pa,*pb,*pc;
printf("enter a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
pa=&a;pb=&b;pc=&c;
max=*pa;
if(*pb>max) max=*pb;
if(*pc>max) max=*pc;
printf("max=%d\n",max);
}
请比较这两个程序哪一个更简洁清晰?
练****3: 将下列程序1传值调用求三个整数的最大值程序改写为传址调用
程序1:
#include <>
int mymax(int,int,int);
void main()
{int a,b,c,max;
printf("enter a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
max= mymax(a,b,c);
printf("max=%d\n",max);
}
int mymax(int x,int y,int z)
{ int m;
m=x;
if(y>m) m=y;
if(z>m) m=z;
return m;
}
程序2:
#include <>
int mymax(int *,int *,int *);
void main()
{int a,b,c,max;
printf("enter a,b,c:\n");
scanf("%d %d %d",&a,&b,&c);
max