999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

C++中函數參數為指針、數組類型時的教學實踐

2019-03-07 05:22:46韓祥波
電腦知識與技術 2019年36期
關鍵詞:教學實踐

韓祥波

摘要:探討了數組、指針在函數參數傳遞中的應用等教學案例,討論了主調函數和被調函數數據傳遞的各種情形,分析了函數形參為指針、數組等形式時對應的具體情形。多次教學實踐證明,學生編程更活躍,實現了對該知識點的融會貫通。

關鍵詞:C++;數組;指針;參數傳遞:被調函數;教學實踐

中圖分類號:G642 文獻標識碼:A

文章編號:1009-3044(2019)36-0092-01

1概述

在C++的學習中數組、指針、函數三者作為幾個核心要點內容多、難度大、綜合使用時往往顧此失彼,丟分嚴重。下面我們通過函數的形參、實參使用指針和數組對此綜合運用,達到深入理解的、融會貫通目的。在代碼中int f'(int x){ cout《”x=”<

函數的參數傳遞有值傳遞和引用傳遞兩種。前者是單向傳遞,若想通過函數處理實現對形參做的更改在函數調用完畢后對實參有效,需要使用引用傳遞。下面我們通過幾個教學實踐的案例來說明實參和形參的幾種復雜對應情況。

2教學實踐

2.1形參實參都用數組名

#include

void fun(int a[10])

f for(inti=O;1<=9;1++)

a[i]=a[i]*1 0;}

main(){ int b[10]; for(int i-0;i<=9;i++){I)[i]=i; }

fun(b); for(i=O;k=9;1++)(coutq”1)[”<

“fun(int a[10])”聲明了形參數組的元素數為10,但實際上該數值是無用的,代碼可以改為”fun(int a[])”。這是由于編譯程序對形參數組的長度不做檢查,而是負責把實參數組的首地址傳給形參數組。但在使用中常加入第二個實參來解決實際用到數組元素個數的問題:如”fun(int a[],int x)”,x很好解決了需要的元素個數。實參中”fun(b)”不是把數組”l,”的值傳遞給形參”a[10])”,而是把實參數組的起始地址傳遞給形參數組,這樣數組“b”,和“a”就共用同一段內存單元。形參數組中各元素的值在開辟的被調函數棧區中被改寫,故實參數組元素的值隨之變化。

2.2實參用數組名,形參用指針變量

#include

void fun(int 4 p)( for(int i_0;i<9;i++)4(p“)=+(p“)4 10;)

main0( int b[101; for(inti=O;1<9;1++) })[i]=i;

fun(b); for(i=O;i<9;1++) cout<<”I)[”<

本例中形參(int*p)為指針,通過指針偏移來遍歷元索實現改值目的,但實參fun()為數組名,此時實參數組的10個元素的數值通過b這個常指針實現了從數組到指針的參數有效傳遞。即指針p得到了b的值,而b的值即數組首元素b[l]的地址。這個賦值是常指針給指針的賦值,是合理的,但指針對常指針賦值則無效。

2.3形參實參都用指針變量

#include

void fun(int*p)( for(int i_0;i<9;i++) *(p+i)=*(p+i)*10;}

main0( int b[10]; for(int i=O;1<9;i++)(b[i]=i;)

int*q=b; fun(q); for(i=0; 1<9; 1++)(cout”b[”<

本例中形參仍為指針,但實參改為了更常用的普通指針模式。通過int* q=b;實現了數組起始地址到普通指針的賦值,從而為實參到形參的指針對指針的傳遞做好了準備。兩個指針同是指向同一段內存單元,使得函數棧區內部的指針內容的變化得以保存,達到了引用傳遞的目的。

2.4實參為指針變量,形參為數組名

#im:lude

void fun(int a[10l)f for(int l=0;i<9;i++)a[i]=a[i]*10;}

main(){int b[lO].for(int i=0; k9;i++)( t)[i]=i;}

int*q=b; fun(q);

for(i=0; 1<9;i++){cout《”b[”<

本例中形參為數組,但在主函數中通過”int* q=b;

fun(q);”語句把數組起始地址賦值給普通指針并作為實參傳遞給形參,雖然形參形式上是數組但本質還是指針類型,需要一個地址值與之對應,而實參q作為數組b的起始地址傳遞給形參”(int a[10])”自然是形式到內容完全一致的。

3結論

在函數調用中,實參到形參的傳遞涉及了指針、數組等各種復雜情況,使用時可以選用值傳遞或引用傳遞。若想保存對形參對應內容所做的修改則使用后者,此時形參和實參都可用指針或數組的形式,只要本質一致,則傳遞容易完成,如數組到數組、數組到指針、指針到指針、指針到數組的幾種實參到形參的傳遞都給出了驗證過的實例。

參考文獻:

[1]劉吳,方歡,袁水蓮.淺析C++中獲取數組長度的若干方法[J].電腦知識與技術,2018(19).

[2] Bjarne Stroustrup.C++程序設計語言:特別版[M].裘宗燕,譯.北京:機械工業出版社,2 010.

[3]羅憲,王家偉,周建麗.“高級語言程序設計”“面向對象程序設計”精品課程教學改革與實踐[J].重慶交通大學學報:社會科學版,2009,9(1).

[4]王世同,李強.VisualC++6.0編程基礎[M].北京:清華大學出版社,2000.

[5]錢能.C++程序設計教程[M].北京:清華大學出版社,1999.

[6] Lippman S B,Barhara E.Moo.C++ Primer中文版[M].李師賢,譯.4版.北京:人民郵電出版社,2006.

[7]陳維興,林小茶.C++面向對象程序設計教程[M].北京:清華大學出版社,2000.

[8]羅憲,王家偉,周建麗.“高級語言程序設計”“面向對象程序設計”精品課程教學改革與實踐[J].重慶交通大學學報:社會科學版,2009,9(1).

[9]陳叢.高級語言程序設計教學方法探討[J].電腦知識與技術,2012(34).

【通聯編輯:王力】

收稿日期:2019-09-23

作者簡介:韓詳波(1975-),男,山東淄博人,講師,碩士,研究方向為計算機軟件與理論。

猜你喜歡
教學實踐
小學數學體驗性學習的教學實踐
低年級衛生習慣的培養
基于三維軟件和云班課APP的機械設計課程教學實踐
職業(2016年10期)2016-10-20 22:23:49
中職職業生涯規劃課程的教學反思
職業(2016年10期)2016-10-20 21:59:29
試論類比推理在高等數學教學實踐中的應用
《單片機原理與應用》課程教學改革與實踐
科技視界(2016年22期)2016-10-18 16:51:33
中職計算機應用課程教學改革與反思
科技視界(2016年21期)2016-10-17 18:57:24
淺論高中化學生活化教學的實踐與思考
考試周刊(2016年79期)2016-10-13 23:10:24
淺談初中物理實驗教學與學生創新能力的培養
考試周刊(2016年79期)2016-10-13 23:09:42
測量平差課程教學改革探討與實踐
考試周刊(2016年79期)2016-10-13 21:37:05
主站蜘蛛池模板: 久一在线视频| 中文字幕欧美成人免费| 久久99国产综合精品1| 久久毛片基地| 国产另类视频| 午夜精品福利影院| 欧美成人精品在线| 激情在线网| 一级毛片免费观看不卡视频| 国模沟沟一区二区三区| 美女被躁出白浆视频播放| 欧美人人干| 99草精品视频| 欧美日韩精品在线播放| 国产成人综合久久精品下载| 欧美在线黄| 亚洲成人黄色在线| 免费一级全黄少妇性色生活片| 国产农村精品一级毛片视频| 综合色88| 精品1区2区3区| 国产在线视频福利资源站| 亚洲精品无码av中文字幕| 日韩欧美中文在线| 2020最新国产精品视频| 亚洲中文字幕无码mv| 不卡网亚洲无码| 在线精品自拍| 欧美一级高清免费a| a级毛片免费看| 九九热在线视频| 99免费视频观看| 国产精品一区在线麻豆| 久久综合色天堂av| 六月婷婷激情综合| 9久久伊人精品综合| 精品国产成人三级在线观看| 69视频国产| www.91中文字幕| 国产高清在线观看91精品| 一级毛片在线免费视频| 天天综合网亚洲网站| 久久伊人色| 九色视频最新网址| 久久精品一卡日本电影| av在线无码浏览| 日韩视频免费| 欧美国产精品不卡在线观看| 五月天在线网站| 欧美成人免费午夜全| 国产第一页亚洲| 她的性爱视频| 中文字幕 欧美日韩| 色成人综合| 国产亚洲高清视频| 91探花国产综合在线精品| 91精品国产综合久久香蕉922| 国产精品太粉嫩高中在线观看| 欧美成人aⅴ| 免费观看无遮挡www的小视频| 亚洲精品无码人妻无码| 超碰91免费人妻| 91精品网站| 天天综合网色| 久久人妻xunleige无码| 国产亚洲精品自在线| 中文字幕永久视频| 亚洲色图另类| 国产欧美日韩在线一区| 最新亚洲人成无码网站欣赏网 | 毛片手机在线看| 欧美成人午夜影院| 精品成人免费自拍视频| 国产第三区| 亚洲视频影院| 亚洲无码视频一区二区三区| 国产91九色在线播放| 国产导航在线| 亚洲人成人无码www| 久久一级电影| 亚洲欧美另类日本| 亚洲男人的天堂在线|