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-),漢族,男,安徽太湖人,講師,碩士研究生,主要從事蟻群算法及應用、計算機軟件及應用、職業教育等方面的研究。

主站蜘蛛池模板: 日韩中文精品亚洲第三区| 国产主播喷水| 色综合激情网| 在线看片中文字幕| 国语少妇高潮| 91成人在线免费视频| 99热国产这里只有精品无卡顿"| 亚洲天堂日韩av电影| 国产精品免费久久久久影院无码| 国产门事件在线| 欧美一区二区啪啪| 欧美性精品| 伊人五月丁香综合AⅤ| 欧美日本激情| 精品一区二区三区无码视频无码| 国产真实乱子伦视频播放| 国产成人亚洲综合a∨婷婷| 成人免费黄色小视频| 污网站免费在线观看| 国产一区免费在线观看| a级毛片免费播放| 精品福利国产| 久久无码av三级| 亚洲国产黄色| 国国产a国产片免费麻豆| 91麻豆国产精品91久久久| 大香伊人久久| 亚洲av无码成人专区| 日本久久久久久免费网络| 国产精品亚洲五月天高清| 国产女人在线观看| 欧美中文字幕无线码视频| 亚洲第一色视频| 综合亚洲色图| 在线精品视频成人网| 国产女人18水真多毛片18精品| 日韩精品无码一级毛片免费| 亚洲va在线观看| 国产男女免费视频| 人禽伦免费交视频网页播放| 综合人妻久久一区二区精品 | 国产爽妇精品| 中文字幕在线看| 久久a级片| 日韩大乳视频中文字幕 | 国产成人成人一区二区| 免费播放毛片| 5555国产在线观看| 激情综合激情| 国产亚洲欧美日韩在线观看一区二区| 精品久久久久成人码免费动漫| 国产精品55夜色66夜色| 国产麻豆另类AV| 色婷婷视频在线| 国产高清不卡| 毛片在线看网站| 亚洲无码91视频| 女人18一级毛片免费观看| 午夜限制老子影院888| 国产成人喷潮在线观看| 国产熟女一级毛片| 国产91特黄特色A级毛片| 亚洲第一网站男人都懂| 日本免费新一区视频| 奇米影视狠狠精品7777| 亚洲手机在线| 国产免费好大好硬视频| 国产精品久久久精品三级| 中文字幕在线不卡视频| 国产欧美专区在线观看| 婷五月综合| 日韩精品无码一级毛片免费| 不卡视频国产| 国产欧美另类| 谁有在线观看日韩亚洲最新视频| 漂亮人妻被中出中文字幕久久| 免费va国产在线观看| 久久精品国产在热久久2019| 久久人体视频| 中文字幕无线码一区| 国产免费人成视频网| www.亚洲国产|