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

淺析C語言指針

2020-08-15 13:33:03宋志飛
商情 2020年34期

【摘要】文章從C語言指針的基本概念入手,引出C語言指針、指針變量等多個知識點。并對程序中應用C語言指針中較常出現的幾個錯誤進行分析講解。

【關鍵詞】C語言? 指針? 內存

0引言

指針的英文是pointer,是C語言中一個非常重要甚至可以說是C語言的精髓,是C語言的一個重要標識,提到C語言,我們就會想到指針。指針是C語言受歡迎的一個重要原因,C語言也是目前非常流行的計算機程序語言。指針和數組、函數等之間數據的交互有著非常重要的關聯。在一些特殊情形下,只能用指針才能完成相應的運算,同時,指針提高了代碼運行的效率。

同時,指針又是C語言中最為復雜難學的知識點之一,若對指針的要點混淆不清,濫用或者誤用指針,將會減少程序的可讀性;錯誤運用的話,將會使程序編譯出錯甚至崩潰。

1指針

根據C語言教程中提高的馮諾依曼理論,C語言程序代碼編譯運行的時候是要寫入內存單元。要想完全掌握指針的話,首先要理解內存的概念,這其中包括:內存單元、地址等概念。這里面提到的內存是由很多空間大小相同的存儲單元組成。我們可以形象的將計算機的內存設定成一個街道上的一間間相鄰的門面,每間門面都有唯一的門牌號碼來標識來區分。C語言中,變量的值存儲在計算機的內存中,每個變量都對應占據一個 的位置。每個內存位置都是有地址唯一確定并引用的,就好像街道上門面房都是由它們的門牌一樣。指針實際上是地址的另一個名稱。C語言提供了一部分操作符,通過這些操作符,能夠得到變量的地址,還可以經過指針變量直接得到它所指向的值。

由int類型變量的值為整數,char類型變量的值為字符,我們能夠想到,指針從本質上看,指針是一個值為內存地址的變量,或者說指針變量的值是地址。

2指針變量

這里我們先聲明一個指向整型變量的指針的語句:“int *p;”,p是一個指針,這個好理解,p只不過是一個變量而已,與我們知道的整型變量、字符型變量等并沒有什么區別。我們使用“int *p”聲明一個指針變量,實質上是在內存中聲明一個一段寬度的內存空間,并將其命名為p。p和整型變量、字符型變量等沒有實質區別。我們還有這樣的語句:“p=&i;”, &叫做取地址符,就是返回變量i的地址編號。或者說,整句的含義就是將i的地址的編號賦值給p,即在p中寫上了i的地址編號,假設i的地址編號是6,變量i的值是30。

執行完p=&i之后,在內存中,p的值是6,這里的6就是變量i的地址編號,p就指向了變量i。因此,我們稱p為指針,我們這里要記住,指針變量的存儲的內容就是內存的地址編號。我們這里又有如下語句:“printf(”%d”,*p);”,我們這里可以這樣去讀它:p的內容所指的地址的內容,或者形象的理解成p門牌號碼上所對應的房子。P的內容是6,也可以說p指向內存編號為6 的地址。*p就是它所指地址的內容,即地址編外為6上的內容了,就是30這個內容了。所以運行程序,在屏幕上就會打印輸出30。我們可以將“printf(”%d”,*p);”理解成“printf(”%d”,i);”這樣就不難理解指針變量這個概念了。

3指針的作用

指針到底有什么作用呢?指針能夠間接訪問變量,也可以提升代碼的訪問效率,還能夠實現動態內存分配等。C語言編譯器在編譯的時候,代碼中的變量、函數等都要對其分配內存,因此,程序代碼一旦開始運行了,就會直接找到對應的內存單元和地址。C語言中的指針,實質上就是對底層內存單元的操作。

指針能夠通過間接訪問這個特性來解決這些問題。舉例子,在函數間是不可以共享數據的,但是有了指針后,就能夠間接用到函數之外的數據,即將數據的地址傳遞到函數中就可以了。

使用指針,能夠讓開發者在底層或者抽象層與內存進行打交道,更加高效直接。能夠化解很多直接訪問無法完成的操作。比如:像函數直接的數據分享、返回值不可以是相同的的一個值以上等很多問題。還有后面要學到的對文件的操作就離不開指針的應用。

使用指針能夠將邏輯關系上有聯系的數據、函數關聯起來。例如,后面要學到的 鏈表內容中,存儲不連續的數據但在邏輯上有關系的,就要用到指針的內容。

4總結

C語言的指針,使用起來非常靈活,在實際運用中變化很多。對于初學者來說,有點難度,但對于完全掌握C語言指針的人來說,就能夠將指針運用到實際的應用中,寫出優秀的程序代碼,實現很多其他計算機語言無法實現的功能。指針的學習要不斷理解和實踐,不斷的去挖掘其精髓,從而完全掌握C語言的精髓。

參考文獻:

[1]Stephen Prata, C Primer Plus(第6版)中文版[M].北京:人民郵電出版社, 2016.4.

[2]譚浩強,C 語言設計[M].北京:清華大學出版社,2000.[3]GregPerry.寫給大家看的C語言書[M].人民郵電出版社,2010.

作者簡介:宋志飛(1985-),漢族,男,安徽太湖人,講師,碩士研究生,主要從事蟻群算法及應用、計算機軟件及應用、職業教育等方面的研究。

主站蜘蛛池模板: 日韩高清在线观看不卡一区二区 | www.99在线观看| 国产丝袜丝视频在线观看| 日a本亚洲中文在线观看| 婷婷六月综合网| 一本一道波多野结衣一区二区| 男人天堂亚洲天堂| 国产原创自拍不卡第一页| 日本高清视频在线www色| 国产原创自拍不卡第一页| 免费AV在线播放观看18禁强制| 中文字幕精品一区二区三区视频| 国产精品手机在线观看你懂的 | 18禁黄无遮挡免费动漫网站| 2020国产免费久久精品99| 国产精品所毛片视频| 色悠久久久| 中文字幕人妻无码系列第三区| 日韩欧美中文字幕一本| 亚洲三级色| 天堂成人在线| 中文天堂在线视频| 欧美激情视频二区三区| 国产男人天堂| 波多野结衣无码AV在线| 婷婷综合在线观看丁香| 亚洲精品波多野结衣| 狠狠色婷婷丁香综合久久韩国| 国产成人精品日本亚洲77美色| 欧美v在线| 国产一级毛片yw| 亚洲精品图区| 伊人色综合久久天天| 人妻一本久道久久综合久久鬼色| 日本在线国产| 亚洲综合经典在线一区二区| 久久香蕉国产线看观看式| 色呦呦手机在线精品| 无码精品福利一区二区三区| 国产99久久亚洲综合精品西瓜tv| 国产va视频| 青青久视频| 国产成人啪视频一区二区三区| 女人18毛片一级毛片在线| 呦视频在线一区二区三区| 五月天综合网亚洲综合天堂网| 国产在线视频福利资源站| 亚洲视频免费在线| 国产欧美日韩在线一区| 婷五月综合| 国产免费福利网站| 亚洲人成人伊人成综合网无码| 亚洲无码在线午夜电影| 久久亚洲国产最新网站| 国产亚洲精品精品精品| 亚洲最大福利网站| 日韩国产精品无码一区二区三区| 色婷婷亚洲综合五月| 无码综合天天久久综合网| 亚洲天堂.com| 国产成人av大片在线播放| 91色老久久精品偷偷蜜臀| 狠狠色婷婷丁香综合久久韩国| 亚洲人成网7777777国产| 91偷拍一区| 97国产成人无码精品久久久| 日韩欧美国产综合| 亚洲h视频在线| 亚洲色图欧美在线| 99偷拍视频精品一区二区| 激情亚洲天堂| 成人伊人色一区二区三区| 国产性生大片免费观看性欧美| 亚洲天堂日本| 久久国产亚洲欧美日韩精品| 亚洲精品亚洲人成在线| 日本一区二区不卡视频| 国产人成乱码视频免费观看| 国产精品亚欧美一区二区三区 | 最新亚洲av女人的天堂| 欧美成人午夜视频免看| 免费一级α片在线观看|