天堂国产午夜亚洲专区-少妇人妻综合久久蜜臀-国产成人户外露出视频在线-国产91传媒一区二区三区

當前位置:主頁 > 科技論文 > 計算機論文 >

C語言指針運用探討

發(fā)布時間:2015-02-12 19:44

摘 要:

摘 要:C語言是我們常用的一種計算機編程工具,在計算機的各個領(lǐng)域都得到廣泛的引用。C語言的指針是C語言編程技術(shù)中的核心,也是C語言中最具特色的部分。運用指針可以靈活的解決很多程序編輯問題,是很多其他高級程序編輯語言不能代替的。

關(guān)鍵詞:

關(guān)鍵詞:C語言 指針 計算機編程

  1 C語言指針的基本內(nèi)涵

  在C語言中存在一種指針變量,這種變量與普通的變量一樣在定義了之后都會在計算機中占據(jù)一定的位置,其中儲存這一定的數(shù)據(jù),只是這里面儲存的數(shù)據(jù)是一個地址。這個地址指示了另一個數(shù)據(jù)的位置。通常來說,對于指針變量的定義:指針類型數(shù)據(jù)的數(shù)據(jù)類型是關(guān)鍵字,指針變量中存放的數(shù)據(jù)是另一個數(shù)據(jù)的儲存地址,指針變量的性質(zhì)就是它儲存的位置中的數(shù)據(jù)的性質(zhì)。

  2 C語言指針在應(yīng)用過程中的優(yōu)勢分析

  C語言指針是C語言中的重要組成部分,在C語言的使用過程中如果能夠熟悉的使用C語言指針,能夠幫我們解決很多實際中的難題,可以使很多復雜的問題變得簡單。用指向性的單變量指針變量作為一個函數(shù)的參數(shù),能夠得到多個變化后的值。通常在運用函數(shù)調(diào)用都是有且只有一個函數(shù)值會被得到,而在應(yīng)用了指針函數(shù)之后,通過一個變量就能得到很多變化之后的值。在指向性數(shù)組之中是有指針函數(shù)的話能夠短時間內(nèi)得到很多的結(jié)果,對于數(shù)組的處理效率會得到很大的提升,所以說在熟練的掌握了數(shù)組之后可以用數(shù)組來處理數(shù)組能夠極為有效的提高對數(shù)組的處理效率。指向性的字符串在應(yīng)用了指針變量之后能夠減少數(shù)據(jù)儲存的空間,指針變量本身就可以儲存數(shù)據(jù)的位置,所以在使用了指針變量之后字符串的存儲空間能夠得到很大的提升,從而提高程序工作的效率。指向結(jié)構(gòu)體變量的指針作為函數(shù)的參數(shù)的時候能夠在很大程度上節(jié)省時間和存儲所占的空間,從而提高程序的執(zhí)行效率。指向量FILE類型的結(jié)構(gòu)體中應(yīng)用指示變量能夠很快的找到與之相關(guān)的文件,從而更快的實現(xiàn)對文件的訪問。

  3 C語言指針運用中的問題

  C語言指針在與C語言中的數(shù)組、函數(shù)以及運算符號結(jié)合之后,通常在說明的時候會具有很高的復雜行,使得人們對于指針的含義理解起來十分的困難,下面是對人們在使用C語言指針是所犯的錯誤。

  3.1 懸游指針

  懸游指針是一種使用的未進行出事話的指針p,這個指針并不是說沒有值,只是它的指示不確定的,同時,因為它的值不確定的原因,這個指針的指向也是不確定的,這中不確定性就有可能會破壞整個系統(tǒng)的正常工作,是一種很危險的指針類型,在使用過程中這種指針很有可能會對程序造成不可挽回的災(zāi)難性后果。

  int a [5 ] , i ,* p;

  fo r( i= 0; i < 5; i+ + ) scanf( "% d", p+ + ) ;

  應(yīng)在fo r語句前加上語句"p= a; ",使p初始化[3 ] 。

  3.2 指針指示類型錯誤

  main( ) { static int a [3] [4 ]= { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}; int* p; for ( p=a; p < a+ 12; p+ + ) printf ( "% d",* p) ; }

  在這個程序當中將p=a【0】錯用為了p=a,雖然在程序當中a和a【0】的值是相同的,但是a【0】是一級int型指針,a是二級的,二者的指針類型不同,指示的對象也不行同,所以說這個程序之中p只能接受a【0】不能接受a。

  3.3 指針偏移

  main( ) {char * p, s [80]; p= s;

  do {g ets( s) ;

  w hi le(* p) print f ( "% x h",* p+ + ) ;

  }w hi le( strcmp( s, "end") ; }

  在上面的這個程序中,當指針初始化p=s進入循環(huán)之后p會進行自加,這可能會使得p的指針轉(zhuǎn)移到字符的其他位置中去,甚至可能會使p轉(zhuǎn)到字符串的另一變量或者程序代碼之中。這種情況是非常危險的,對于整個程序的運行來說都是可能會造成不可挽回的后果。

  3.4 * 和[ ]在定義時只是說明作用, 不是運算符

  &、* 、[ ]是C語言中的三種運算符號,他們的含義分別是地址運算符、指針運算符跟下標運算符。人們對于這三個運算符所代表的意義是很明確的,并沒有什么錯誤的理解。但是在實際的應(yīng)用中,很多人卻將他們看作是運算符號。&、* 、[ ]這三個運算符在運算的過程中只是起到說明的作用,并不能看做是運算符。

  3.5 用整數(shù)值對指針進行賦值

  在C語言之中,指針的值就是他所指向的地址,準確的說指針的數(shù)值在程序的運算過程過程中就是一個整數(shù)數(shù)值,,但是卻不能夠直接講一個整數(shù)的數(shù)值賦予給指針。因為指針的整數(shù)數(shù)值是有方向性的,但是在程序語言中的整數(shù)數(shù)值卻是沒有方向的。將這個沒有方向的整數(shù)數(shù)值賦予到指針的時候,指針就真的只是一個整數(shù)數(shù)值而不能指向一個地址。

  int num;

  int* pt;

  num = 192635;

  p= num;

  最后一個語句的目的是使指針指向地址192635( 十進制), 編譯時系統(tǒng)會提示這個語句有錯誤。

  3.6 指針之間值的相互賦予

  # inc lude / a lloc. h0

  m a in( )

  { int* m, * n;

  m = ( int* ) m allo c( sizeof( int) ) ;

  n= ( int* ) m a llo c( sizeof( int) );

  * m = 78;

  * n= 82;

  m = n;

  printf( d% d, % dd,

  * m, * n); } [ 7]

  在C語言之中,指針的值是可以相互賦予的,比如說在這個程序之中“m=n”就是講n的指向賦予給了m中去,但是原來已經(jīng)賦予給m的內(nèi)存空間卻沒有被釋放出去,使得這個內(nèi)存空間成為了無效的內(nèi)存空間,但是在實際的程序運行中又需要對m進行反復的應(yīng)用,這也就使得內(nèi)存空間變得十分的緊張。所以我們在進行指針之間值的賦予是通常會將被賦予的指針的內(nèi)存空間進行釋放,將其中的內(nèi)存空間賦予給一個無用的指針,然后再將有用的值賦予到該指針中去。使程序在反復運行時不會存在內(nèi)存不足的情況。指針之間的賦值不當會造成內(nèi)存緊張,嚴重的時候甚至會造成死機現(xiàn)象。

  3.7 指針賦值只能存在于相同類型之間

  C語言中的指針具有不同的類型,而在進行指針之間的賦值的時候,只能在相同類型的指針進行賦值。如果兩個指針的類型不相符合的話是不能夠進行賦值的。如果一個指針被賦予了其他類型指針的數(shù)據(jù),將會在程序的運行中造成錯誤。可能會造成程序的運行錯誤甚至于使得程序崩潰。

  4 結(jié)語

  C語言中的指針使得C語言的應(yīng)用變得十分靈活,使得許多問題的解決變得方便了很多。雖然說指針的應(yīng)用使得對問題的解決變得靈活簡單,但是許多C語言的初學者因為對指針的定義理解的不夠透徹,在使用指針的過程中會犯很多錯誤,影響程序的正常運行。

  參考文獻:

  [1]張威虎.C語言指針運用探討[J].延安大學學報:自然科學版,2000(3):25-27.

  [2]史娟.C語言指針教學中的常見問題及教法探析[J].電腦知識與技術(shù),2012(17):4168-4169,4172.

  [3]任磊.C語言指針的運用及常見錯誤分析[J].商丘師范學院學報,2008(12):91-93.

 



本文編號:14557

資料下載
論文發(fā)表

本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/14557.html


Copyright(c)文論論文網(wǎng)All Rights Reserved | 網(wǎng)站地圖 |

版權(quán)申明:資料由用戶afee8***提供,本站僅收錄摘要或目錄,作者需要刪除請E-mail郵箱bigeng88@qq.com
亚洲熟妇av一区二区三区色堂 | 日韩人妻中文字幕精品| 国产欧美日韩在线精品一二区 | 国产精品视频久久一区| 亚洲综合激情另类专区老铁性| 91插插插外国一区二区| 日韩在线免费看中文字幕| 一个人的久久精彩视频| 日木乱偷人妻中文字幕在线| 欧美三级精品在线观看| 国产精品亚洲欧美一区麻豆| 久久精品一区二区少妇| 欧美小黄片在线一级观看| 国产成人午夜av一区二区| 麻豆视频传媒入口在线看| 亚洲男人的天堂色偷偷| 亚洲一区二区久久观看| 日韩欧美一区二区不卡看片| 国产一区二区三区成人精品| 国产又粗又长又爽又猛的视频| 2019年国产最新视频| 九九热在线免费在线观看| 欧美日韩国产综合特黄| 国内欲色一区二区三区| 中国黄色色片色哟哟哟哟哟哟 | 日韩国产传媒在线精品| 亚洲最新av在线观看| 91久久精品在这里色伊人| 欧美日韩黑人免费观看| 亚洲淫片一区二区三区| 亚洲一区二区三区四区| 亚洲国产成人av毛片国产| 欧美日不卡无在线一区| 精品国产一区二区欧美| 日韩不卡一区二区视频| 欧美三级精品在线观看| 亚洲欧美视频欧美视频| 国产精品日本女优在线观看| 色一情一伦一区二区三| 国语久精品在视频在线观看| 国产精品久久三级精品|