1 / 13
文档名称:

C语言程序设计.ppt

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

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

分享

预览

C语言程序设计.ppt

上传人:xinsheng2008 2017/10/26 文件大小:526 KB

下载得到文件列表

C语言程序设计.ppt

相关文档

文档介绍

文档介绍:内容
变量的指针
1
指针变量
2
指针变量作为函数参数
3
变量的指针
指针是C语言的重要特色之一,利用它可以写出高效率的程序。
内存可以看成是由许多字节顺序排列而成,而且每个字节都有唯一的内存地址,就象宾馆里的客房都有唯一的房号一样。
另外,对于程序中每个变量,C系统会根据变量的类型,在内存中分配相应大小的存储单元,用于存放变量的值。
int i=5;
float f=;
char c=’A’;
……
i
f
c
5

A
我们把变量所对应的存储单元的首字节的地址称为变量的地址,可用取地址运算符&来获取变量的地址。
由于变量的地址指明了变量的存储位置,所以被说成是“指向”变量,并形象地称为变量的指针。
内容
指针变量
2
变量的指针
1
指针变量作为函数参数
3
指针变量
在C语言中,可以定义变量来存放变量的地址/指针,这种用来存放变量地址的变量称为指针变量。指针变量可按如下形式定义:
基类型*指针变量名1,*指针变量名2,…, *指针变量名m ;
与其他变量一样,对于每个指针变量,C系统会为它在内存中分配存储单元。
int *p1;
float *p2;
char *p3;
p1
p2
p3
值得注意的是,C系统为所有指针变量分配同样大小的存储单元。例如,TC为上面的3个指针变量都分配2字节的存储单元。
因此,为指针变量分配的存储单元的大小与基类型无关。
既然如此,那为什么在定义指针变量时还要指定基类型呢?
地址运算符&和指针运算符*
⑴取地址运算符&的一般形式为:
&变量
它用来获得变量的地址,该地址可以存放到同类型的指针变量里。
⑵指针运算符*的一般形式为:
*指针表达式
由于指针表达式的值仍为指针,它用来表示该指针所指向的变量。
void main()
{
int m=3, n=5;
int *p1,*p2;
p1=&m;
p2=&n;
printf(”%d,%d”,m,n);
printf(”%d,%d”,*p1,*p2);
}
①p1=&m (√) ②n=&m (×)
①*p1 (√) ②*n (×) ③*p1=&m (×)
⑶& 与* 的优先级相同,结合方向是自右向左。
①*&m (√)
②&*m (×)
3
变量m
2000
p1
*p1
m
*p1
&m
p1
m=3
*p1=3
内容
指针变量作为函数参数
3
变量的指针
1
指针变量
2
?
#include <>
void swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
void main()
{
int a=3,b=5;
swap(a,b);
printf("\n%d,%d",a,b);
}
练习编写交换两个变量的函数swap
指针变量作为函数参数
#include <>
void f1(int k,int *p)
{ *p=k+(*p);
k=10;
p=&k;
}
void main()
{ int a=3,b=5;
int *ptr;
ptr=&a;
f1(b, ptr);
printf(“%d,%d”,a,b);
}
指针变量作形参
指针变量作实参
①在主调函数中定义指针变量(ptr),并使其指向要修改的变量(a)。
②将指针变量(ptr)作为实参,把变量(a)的地址传递给被调函数(f1)的形参。
③通过形参指针变量(p)改变变量(a)的值。
④主调函数中可以使用改变了值的变量(a)。
练习、在被调函数B中修改主调函数A的变量a、b。
void B(int *p1,int *p2)
{ *p1=50;
*p2=100;
……
}
void A(…)
{ int a=3,b=5;
int *p1,*p2;
p1=&a;
p2=&b;
B(p1, p2);
/*a、b的值已变*/
……
}
也可改为:
B(&a, &b);
指针变量作为函数参数举例
#include <>
void swap(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
void main()
{
int a=3,b=5;
swap(a,b);
printf("\n%d,%d",a,b);
}
练习编写交换两个变量的函数swap。
#include <>
void swap(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
void main()

最近更新

广西北海市2019-2020学年高二数学上学期期末教.. 4页

广西北海市北海中学2019-2020学年高二英语上学.. 3页

2025年遛狗趣事小学生作文0字(共篇) 8页

江苏省徐州市2019-2020学年高二上学期期中考试.. 2页

货物运输外包合同范本(九篇) 22页

财务请款单模板(三篇) 9页

2025年逞强到令人心疼的句子(推荐3篇) 14页

常见四种血液传染病传播途径以和预防措施 30页

请打开一首(5篇) 15页

2025年送给同桌毕业留言(精选篇) 24页

设计方案变更申请书(5篇) 18页

2025年退休人员追悼会主持词(精选篇) 20页

解除租赁合同协议书范本租房(五篇) 7页

2025年这里有我的世界作文(精选篇) 22页

高温陶瓷材料在能源存储系统中的应用研究-洞察.. 40页

泌尿系耐药结核菌株分子生物学特征分析-洞察阐.. 32页

栖息地破坏与恢复机制研究-洞察阐释 38页

最新个人借款合同书(2025版)-@-1 16页

最新房地产融资居间合同书范本2025年通用 14页

二零二四年ISO9000质量认证咨询与品牌战略规划.. 15页

二零二四年仓储租赁合同样本(含仓储物流解决.. 15页

二零二四年农业绿色生产农膜采购合同 13页

2025届北京市中国人民大学附属中学高三三模英.. 11页

XX市蚊媒传染病传播媒介应急处置方案 28页

顶管近距离穿越运营中地铁隧道的施工技术 8页

元旦节放假通知 (53) 1页

聚乙烯醇熔融纺丝探索 51页

用电协议(接火费) 4页

施工现场机械设备安全操作规程大全 19页

常用新医疗法手册 78页