admin 管理员组文章数量: 1086019
2024年12月29日发(作者:openstack支持的计算类型)
Popular Science 科学大众・科学教育 2010年第3期
浅析c语言中指针作函数参数
丁春芳
(邢台学院信息科学与技术系,河北邢台054001)
摘要:本文主要从理论上对指针和函数的结合点~指针作函数参数应用技巧进行探讨。
关键词:C语言;指针;函数参数
中图分类号:tp311 文献标识码:B 文章编号:1006—3315(2010)3—156—001
在c语言中,指针可以和函数结合作函数的参数,并且指针 for(i=0;i<10;i++)
作函数的参数还解决了普通变量作函数参数时形参不能改变主
调函数中变量值的问题。在此本人结合教学中的体会以及参数
的匹配原则、参数的数据传递规律等特点,分析C语言指针作函
数参数的应用。
1、实参和形参的联系
1.1参数的匹配原则
在c语言中,对应形参与实参的类型应相同或赋值兼容。一 值实现了交换,
般而言,实参为整型数据,形参就为整型变量或实型变量;形参 调用结束,
为实型指针变量,实参为实型指针或实型数组名。
1.2参数传递
在c语言中,实参向形参的数据传递采用“单向值传递”,即
只能由实参传值给形参,而不能由形参传值给实参。
2、指针与函数参数
2.1指针作函数形参
指针变量作函数的形参时,因实参和形参类型要匹配,所以 内存单元中的值,
实参只能为表示地址的量,并且其类型要与形参一致,又因实参
必须有确切值,所以实参可以是①变量的地址。变量的地址代表 l
变量存储单元的编号,为常量。②指针。指针变量已赋值。③数 2.
组名。数组名是数组的起始地址,是一个地址常量。
指针变量作形参,指针变量的地址或数组名做实参,函数调 形参需接受实参传递来的值,所以形参必须为表示地址的变量。
用时,形参接收实参传递来的值,此时形参和实参中存储的是同 这样变量的地址及数组名均为常量被淘汰,只有指针变量和数
一
存储单元的地址,它们共同指向同一存储单元,在函数执行过 组形式可以作函数的形参。
程中若使形参指针变量所指向的变量的值发生变化,函数调用
结束后,变量值的变化被保留。此处指针变量所指向的变量可以
是主调函数中的变量,实参存储的依然是变量的地址,实参值未
发生改变,不违背参数的单向传递规律,改变的是实参存储单元
中的内容。所以通过指针做形参可以改变其指向变量的值,这是
一
般变量作形参无法实现的。
void swapl(int x,int Y)
f
int t:
t=x;x=y;y=I;
}
void sort(int P,int n)
f
int q,t;
q:p+n-1;
while(p<q)
{t: p; p= q; q=t;p++;q一;)
1void main()
f
int i,a[1O]={3,7,9,l1,0,6,7,5,4,2},aa=5,bb=8;
swapl(aa,bb);
pfin ̄’’After calling swap1:a=%db=%dkn",a,b);
son 1 o):
作者简介:丁春芳(1 972一):女,硕士。从事计算机教学与研究。
一
156—
printf(”%d\I1”,a[i1);
l
函数调用时,普通变量作为函数实参和形参,变量aa,bb的
值不变,没有实现交换,而在sort函数执行完后,数组a的元素
值进行了逆序排列。在调用swap函数时,为形参开辟存储单元,
形参和实参分别占用不同的存储单元,在swap1函数内,x、Y的
因参数的传递只能从实参给形参传值,所以函数
不能实现aa,bb值的交换;而在调用sotr函数时,实
参a把数组的首地址传递给形参P,这样P指向元素af0】。实参
l0传递给形参n。语句q=p+n一1是让指针q指向数组元素a[91。
p就是a【O], q就是a[91,交换 p和 q的值,就是交换元素a[O1
和a【9]的值。接着p++指向下元素,q一指向前一数组元素,再
交换它们的值,依次进行下去直到p>=q结束,逆序形成。通过改
变指针P和q的指向,其实质是通过间接访问运算改变其对应
实现数组元素原有值的改变。当调用结束后,
系统释放形参变量P和n,并没有将其值传递给对应的实参a和
O。实际上a和10均为常量,不能接收数据也不会被改变。
2指针作函数实参
指针作函数实参时,函数的形参也要为表示地址的量,又因
void inv(int x【],int n)
fint temp,ij,m:(n一1)/2;
fnrO-=O;i<=m;i++)
U=n—i一1;
(temp:xfi】=x[i]=xⅡ];xU】=temp;)
l
void main()
f I¨t i,a【lO]={3,7,9,1 1,0,6,7,5,4,2), p=a;
inv(p,1O);
for(i=O;i<1Off++)
printf(”%d ”,a[iD;
l
指针变量作实参,在inv函数中形参为数组形式,函数体内
使用数组元素x【i]和xD]。形参数组和主调函数中的数组共同占
用同一段存储单元,所以在子函数中数组元素的值发生改变,回
到主函数时变化的值被保留。在此可以把x看作是数组的数组
名,而事实上函数首部中定义的形参数组x并非数组,而是指针
变量x。对函数做如下改变:
void inv(int)【[】,int n)
{int P,m,temp, i, j;
m=(I1一1)/2;
i=xO=x+n一1;p:x+m;
for(x<q) (下转第35页)
总第612期 教海探航
信息技术与生物学科整合的初步探讨
钱兆华
(江都市宜陵中学,江苏省225231)
摘要:新课程改革的主要目标是改变传统的以教师为中心的教学结构,创建既能发挥教师主导,又能充分体现学生主体作用
的新型教学结构。要实现此新型的教学模式的建构,离不开现代信息技术与各学科的整合。
关键词:信息技术; 生物学科;整合
中图分类号:G633.91
1、信息技术与生物学科整合的内涵
文献标识码:A 文章编号:1 006-331 5(201 0)3-035—001
从教育技术的发展来看,信息技术与课程整合的内涵:是要
求在先进的教育思想、理论的指导下,把计算机及网络为核心的
信息技术作为促进学生自主学习的认知工具与情感激励工具,
并将这些工具全面地应用到各学科教学过程中,使各种教学资
源、各个教学要素和教学环节,经过整理、组合,相互融合,在整
体优化的基础上产生聚集效应,从而促进传统教学方式的根本
方法。
3.1_4通过整合,发展学生创造性思维能力
变革。
生物学知识,既有空间结构和运动状况的描述,又有数量分
2、信息技术与生物学科整合的优势
析,逻辑推理,概念的界定等,因此在教学时,要详细安排好教学
2.1现代信息技术能生动逼真地创设生物模型和情景。
2.2现代信息技术能优化学习环境,实现教师为主导、学生
结构,要充分考虑到教师、学生、教学内容和媒体几个教学要素
要与其
为主体的新型教学模式。具体来说就是:①能体现教学中学生学
之间的有机结合。不要将信息技术停留在应用的水平上,
习的主体性和教学的互动性;②能激发学生学习兴趣促进学习 它的教学要素“融”在一起。
3.2利用信息化学习环境和资源,培养学生自主发现、探究学习
动机;③有利于知识的获取和保持;④有利于培养学生的创新精
的能力。
神和促进其信息能力的发展。
根据建构主义理论,结合信息技术与课程整合的思想,教师
2-3现代信息技术给生物教学提供了丰富的素材,有助于教
在教学过程中,要把信息技术作为学生主动学习、协作式探索的
师讲清抽象的知识。
认知工具,教师则是教学过程中的组织者、指导者、意义建构的
2.4现代信息技术有利于创造和谐、高效的课堂气氛。
3、信息技术与生物学科整合的基本策略
帮助者、促进者。
3.1利用信息化学习环境和资源创设情境,培养学生创造性思维
4、信息技术与生物学科整合对教师提出的要求
的能力。
一
是由所感知或所想到的事物引起相关的事物的思维活动。信息
技术能为联想提供丰富的感知材料,从而进一步发展学生们的
形象思维。
3.1-3通过想象训练,培养学生创造性思维能力
想象是形象思维各种方法的综合运用,是通过表象的改造,
在已有表象基础上创造新的形象,它是最具创造性的一种思维
4.1教师要掌握和运用先进的现代教育技术。这就要求教师要有
建构主义认为,知识不是通过教师传授得到,而是学习者在 娴熟的计算机操作技术,会制作网页,并具有上网收集资料的能
定的情境即社会文化背景下,借助其他人的帮助,利用必要的
力。
4.2教师教学要突出重点、难点。运用现代信息技术的“网络教
学”要注意展示的是教学的重点、难点内容,这样才能提高课堂
教学效率。一味地追求使用计算机,过度使用视频图像,或频繁
地玩转媒体,都会成为教学的干扰。
4.3教师要善于组织学生。教师应具有较强的驾驭课堂的能力和
课堂应变能力,引导学生共同探讨问题、解决问题,使学生的学
习有目的、有成效地进行。
性思维的能力呢?
3.1.1创设情境,引发创造性思维的动力 4.4教师要控制好学生的上网时间。网络教学提高了学生学习的
学生的学习过程必须处在一定的环境中,良好的学习环境 兴趣,给学生提供了自主学习的场所,如果学生学习的自由度过
能激发学生的学习兴趣,使思维活跃起来。利用信息技术可以很
大,就容易偏离教学目标的要求。
信息技术与生物学科的整合,使学生不仅能学到现阶段生
好地创设学习的环境。
3.1.2利用信息技术,通过学生的联想,培养学生形象思维 物学科的研究成果,而且能了解和掌握最新的生物科学知识,跟
的能力
上生物科学发展的时代步伐;教学时间也不再受45分钟的限
形象思维的基本方法有分解、组合、类比、概括、联想和想象 制,学生可在课后继续学习和练习;课堂教学组织形式也由单一
等。其中的联想方法是形象思维中的一个重要的思维方法。联想
性、单调性走向多样化和趣味性。
学习资料,通过意义建构的方式而获得。学习环境中的情境必须
有利于学生对所学内容的意义建构。这就对教学设计提出了新
的要求,也就是说,在建构主义学习环境下,教学设计不仅要考
虑教学目标分析,还要考虑有利于学生建构意义的情境的创设
问题,并把情境创设看作是教学设计的最重要内容之一。
怎样利用信息化学习环境和资源创设情境,培养学生创造
(上接第156页)
(t= x; x-- q; q=t;x++;q一一;}
l
程序运行后结果不变,指针变量是变量能进行自增、自减运
算,而数组名是地址常量,不能进行自增、自减运算,而在改变的函
数中可以做运算x++,可见,形参的数组形式其本质是指针。因此数
组形式作函数形参等同于指针变量作函数的形参,此函数的首部
可改为:
void inv(int¥x,int n),函数体不变。
指针是C语言中重要的概念,是C的一个特色。指针与数组、
函数相结合又是c语言中重中之重,指针作函数的参数体现了它
们的结合与应用。利用它可编写出颇具特色、质量优良的程序。
参考文献:
[1】谭浩强.C语言程序设计【M】.北京:清华大学出版社,2005
[2]洪维恩.C语言程序设计lM].北京:中国铁道出版社,2003
—
35
版权声明:本文标题:浅析c语言中指针作函数参数 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://roclinux.cn/p/1735572670a1677055.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论