亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言指針教學難點透析

        2017-09-20 10:54:26陳坤
        讀天下 2017年24期
        關(guān)鍵詞:數(shù)組指針函數(shù)

        摘 要:C語言是程序語言的重點,也是教學中的難點,本文對C語言教學中由淺入深地講解了一些C語言的重難點,通過用實例對它們的性質(zhì)進行詳細的解讀,讓學生更好地理解其中的區(qū)別。

        關(guān)鍵詞:C語言;指針;函數(shù);數(shù)組

        一、 指針變量的引用

        指針變量使用時對以下得幾點要格外注意:

        1. 對指針變量要先下定義,定義后,再使用。

        2. 對指針變量進行操作時,要保持類型的一致性。例如:int i=50;char *p=&i;;對上述指針進行分析,可以得出上述指針是非法的。因為 int 后的i是整形變量,而char是定義字符變量,這兩個變量是不同類型的變量。

        3. 當使用賦值給指針變量時,有一點要謹記,數(shù)值不可以直接賦值給指針變量,例如:int *p=52566,因為指針變量是儲存其他變量的地址。

        4. 指針變量在每次被調(diào)用時,首先需要做的就是對初始變量進行初始化,例如:int *p;printf(“*p is %d”);這樣的操作就是不合法的,當程序員直接對變量進行使用時,沒有初始化,那就讓指針變量沒有所指。

        5. 當使用指針變量進行算數(shù)運算時,不是變量p進行加法運算,直接變?yōu)閜+3,這樣是錯誤的,舉個例子:int a[5]={0,1,2,3,4};int *p=a;p+3;語句中,而是讓指針變量指向a[3],做一個假設(shè)int 占用4個字符,p+3相當于移動了12個字符。

        6. 指針變量中有三個變量,這三個變量學生常常會弄混,具體使用時,就會犯錯。關(guān)于這三個變量就是const int *p;int const *p;const int const *p。const int *p,修飾*p是個const常量.而*p是指向?qū)ο蟮膬?nèi)容.所以表示指向?qū)ο蟮膬?nèi)容是常量,const變量不能被直接賦值,但是可以通過指針來修改const變量。由于const局部變量會存在棧里,而const全局變量會存在只讀存儲內(nèi)存上所以我們可以通過指針來修改const局部變量,但是修改const全局變量,會使程序崩潰。const變量則是真正的常量了,定義時會將其放入符號表中。所以編譯途中遇到使用const變量時,則直接從符號表中取出常量。只要當該const變量為全局(使用extern聲明過),或者被使用&操作符時,才會被分配存儲空間。int * const p,修飾 p是個const常量,而 p是指向?qū)ο蟮牡刂?所以表示指向?qū)ο蟮牡刂肥莻€常量。

        二、 指針與數(shù)組

        指向數(shù)組元素的指針變量的定義與以前的指針變量的定義一樣,有一點要注意的是保證數(shù)組的類型與指針變量的類型相同。例如:int i[5]={0,1,2,3,4};int *p=i;上述的兩條語句都是指向數(shù)組a的元素的指針向量p,同時對指針向量p進行了初始化,指針變量指向了數(shù)組的首元素a[0]。完成上述步驟,接下來我們就可以訪問數(shù)組元素了,通過使用指針變量p,例如:p+1就是指向a[1],很多學生在這里會迷惑,一定要記得,上述例子都是指針變量對一維數(shù)組元素進行訪問,而現(xiàn)實中對二維或者多維的數(shù)組元素應用比較多,所以我們對介紹一下二維數(shù)組的應用方法。例如:int a[3][4];int *p=a;我們需要對數(shù)組的a[2][3]進行訪問,為解決這個問題,我們可以使用以下方法。

        p+1很多同學錯誤地理解為p單純地加1,其實是指針向量指出下一個數(shù)組元素。所以*(p+1)與a[1]等價。理解了上述的原理,我們可以很容易推理出以下規(guī)律,p+i(0≤i≤4)就可以表示p指向數(shù)組元素第a[i]元素,所以*(p+i)與a[i]等價。綜合上述的規(guī)律,我們可以推理出數(shù)組名與數(shù)組元素地址之間的聯(lián)系,所以有*(a+i)與*(p+i)等價。

        1. 直接使用數(shù)組下標 a[2][3];

        2. 利用一維數(shù)組名a訪問:*(a[2]+3)或*(a[0]+11)或 *(a[3]-1];

        3. 利用二維數(shù)字名a進行訪問,我們需要將(2)中的一維數(shù)組進行改變,改成相應的二維數(shù)組名,這樣就可以實現(xiàn)了。*(*(a+2)+3)或 *(*(a+0)+11)或*(*(a+3)-1);

        4. 用指針變量p訪問:*(*(p+2)+3)或*(*(p+0)+11)或*(*(p+3)-1)等等。

        三、 指針與函數(shù)

        指針函數(shù)是指函數(shù)的返回值為指針類型,通俗地說就是函數(shù)最后一個返回值,這個返回值不是一個數(shù)值,而是一個地址。指針函數(shù)的定義形式為:類型標識符 * 函數(shù)名(參數(shù)名){函數(shù)體}。

        對上述的案例進行分析,上述實例中,我們需要先對全局變量a下定義,緊接著對變量a進行初始化,初始化的值是6,我們在對指針函數(shù)fun( )下定義,其返回類型為指向整型的指針,參數(shù)列表為空。全局變量a的地址是由fun( )函數(shù)返回的。主函數(shù)中對指針變量p進行定義,接著對p進行初始化操作,使其指向fun( )函數(shù),接著輸出p所指向?qū)ο蟮闹?,最后的結(jié)果是*p=6。指針函數(shù)完成上述操作后,就會對所占用的內(nèi)存進行釋放,釋放的內(nèi)存會被系統(tǒng)回收,所以指針函數(shù)不能返回局部變量的地址。

        參考文獻:

        [1]彭蕾.C語言指針教學難點淺析[J].科技情報開發(fā)與經(jīng)濟,2007(05):218-220.

        [2]浙江趙國龍,顧鵬堯.C語言學習中的四大難點[N].電腦報,2003-09-15(C13).

        作者簡介:

        陳坤,湖南省長沙市,長沙財經(jīng)學校。

        猜你喜歡
        數(shù)組指針函數(shù)
        JAVA稀疏矩陣算法
        電腦報(2022年13期)2022-04-12 00:32:38
        二次函數(shù)
        第3講 “函數(shù)”復習精講
        二次函數(shù)
        函數(shù)備考精講
        JAVA玩轉(zhuǎn)數(shù)學之二維數(shù)組排序
        電腦報(2020年24期)2020-07-15 06:12:41
        偷指針的人
        娃娃畫報(2019年5期)2019-06-17 16:58:10
        為什么表的指針都按照順時針方向轉(zhuǎn)動
        尋找勾股數(shù)組的歷程
        基于改進Hough變換和BP網(wǎng)絡(luò)的指針儀表識別
        電測與儀表(2015年5期)2015-04-09 11:30:42
        91高清国产经典在线观看| 少妇被又大又粗又爽毛片| 熟女性饥渴一区二区三区| 久久香蕉国产线看观看网| 久久久婷婷综合五月天| 久久一区二区国产精品| 无码一区二区三区免费视频| 亚洲巨乳自拍在线视频| 啊v在线视频| 侵犯了美丽丰满人妻中文字幕| 乱色欧美激惰| 精品久久久久久777米琪桃花| 99re6久精品国产首页| 亚洲综合国产精品一区二区| 欧美激欧美啪啪片| 久久男人av资源网站无码| 青青草综合在线观看视频| 天堂网av在线免费看| 国产精品99精品久久免费| 丰满爆乳无码一区二区三区| 最新福利姬在线视频国产观看| 日本一区二区三区不卡在线| 九九久久99综合一区二区| 久久精品久久精品中文字幕| 国产精品麻豆成人av| 蜜桃尤物在线视频免费看| 欧美另类高清zo欧美| 亚洲黄色在线看| 国产视频在线观看一区二区三区| 人人妻人人澡人人爽欧美一区双 | 中文字幕一区二区人妻秘书| 欧美在线 | 亚洲| 国产视频网站一区二区三区| 人妻系列中文字幕av| 久久精品国产亚洲av网站| 免费网站国产| 亚洲国产黄色在线观看| 国产亚州精品女人久久久久久| 精品无码专区久久久水蜜桃 | 亚洲欧美成人a∨| 中文字幕二区三区在线|