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

C語言指針再議

2019-08-08 06:23:04劉變蓮
電腦知識與技術 2019年18期

劉變蓮

摘要:文章再次闡述指針在C語言程序設計中的應用。主要講述指針的基本概念和基本語法,同時用例子說明指針用在什么地方,及有什么非用不可的理由。最后總結了指針的類型。一句話就是指針可以在抽象層訪問內存單元。最終就是間接使用另一個對象。因為不能直接使用它。指針的使用不能出現空指針或沒有指向對象,就用指針,這是非常危險的。指針可以指向變量,也可以指向函數,也可以指向數組,甚至可以指向指針。

關鍵詞:C語言;間接訪問;指針;內存

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

文章編號:1009-3044(2019)18-0265-01

接下來執行程序的過程就是從內存單元取指令代碼和數據到CPU中,分析指令、執行指令的過程。也就是程序的執行,每個時刻都在和內存單元打交道,不是取指令就是取數據或者把結果數據存儲到內存單元中。輸入、輸出數據也要和內存單元打交道。

1 基本概念及基本語法

從圖1內存結構知道,訪問內存單元,需要給出相應的地址才能讀寫其中的數據或代碼。所以地址就是讀寫內存單元的關鍵信息。C語言的指針即是內存單元的地址編號。

也可以借指針訪問已經存在的對象,方法是獲取對象的地址即可。C語言的指針即是提供了訪問已經存在對象的第二種手段或方法。見圖2所示。

2 指針能干什么

用指針間接訪問變量;同時也可以提高訪問速度;同時實現動態內存分配及鏈式存儲。

機器語言在機器層工作,和內存單元及內存單元的地址打交道。

高級語言編程在抽象層上設計程序,和變量名、數組名、函數名等一堆名字打交道。編譯器在編譯程序時,其中的變量、函數等對象都要分配內存,所以,程序一旦運行時,直接對應的是內存單元及地址,事實上這些高級語言程序中的名字在運行階段就是指代某內存單元。C語言的指針,就是對底層內存單元的操作,也可以提到抽象層做。

為什么用指針解決問題,就是使用它的間接訪問特性,比如,函數之間是不能共享數據的,但是,有了指針的助力,就可以間接使用函數外的數據,只要把數據的地址傳到函數中即可。為了既共享數據同時還要保護數據,可以使用常指針類型就可以。也可以把函數外的第二個函數傳遞到函數中來,借函數的指針作函數的形參就可以實現。

指針的應用可以讓設計者在抽象層和內存打交道,更直接。能解決一些效率及直接訪問無法解決的問題。如函數間共享數據、函數返回值不能是一個值以上等問題。靜態數組定義時不能擴展容量等問題。復雜數據結構的實現等問題。比如文件的操作就決不能離開指針的助力。打開文件時,系統就構建了操作文件的指針,該指針是指向一個臨時構建的內存區域,其中存儲了文件的相關資料。以后讀寫文件的數據就借這個文件指針完成。最后的步驟是關閉文件。事實是文件指針指向的內存區域釋放了,文件關上了操作的大門。

用指針可以把邏輯上相關的一些數據或函數串聯起來。比如鏈表就是存儲不連續的數據但邏輯上相關,就需要指針變量來建立邏輯關系。許多非數值問題就需要指針、鏈表的幫助,才能解決問題。

3 注意

使用指針時,指針變量一定要指向一個存在的對象后,才能用指針來訪問指向的對象,否則就會出現安全隱患。如下代碼是危險的。

參考文獻:

[1] Jeri R. Hanly, Elliot B. Koffman. C語言詳解M]. 2007.

[2] 裘宗燕. 從問題到程序:程序設計與C語言引論.2版[M]. 機械工業出版社, 2011.

[3] GregPerry. 寫給大家看的C語言書[M]. 人民郵電出版社, 2010.

【通聯編輯:光文玲】

主站蜘蛛池模板: 国产精品欧美日本韩免费一区二区三区不卡 | 日韩在线成年视频人网站观看| 全部免费特黄特色大片视频| 日本精品影院| a级毛片免费网站| 第一区免费在线观看| 青青草欧美| 亚洲一级毛片| 色亚洲成人| 欧洲精品视频在线观看| 午夜日b视频| 性欧美在线| 久久一日本道色综合久久| 欧美特黄一级大黄录像| 99成人在线观看| www.99精品视频在线播放| 91久久国产综合精品女同我| 青青草a国产免费观看| 一级做a爰片久久免费| 欧美伦理一区| 996免费视频国产在线播放| 精品精品国产高清A毛片| 日韩在线2020专区| 鲁鲁鲁爽爽爽在线视频观看| 成人噜噜噜视频在线观看| 午夜无码一区二区三区在线app| 啦啦啦网站在线观看a毛片| 欧美一级高清免费a| 97久久免费视频| 色综合天天综合| 久久久久国产一级毛片高清板| 噜噜噜久久| 伊大人香蕉久久网欧美| 日韩精品毛片| 欧美日韩高清| 女人18毛片久久| 亚洲国产成人精品无码区性色| 亚洲一区二区在线无码| 国产视频欧美| www.国产福利| 久久99国产综合精品1| 国产美女叼嘿视频免费看| 伊人久久婷婷五月综合97色| 国产成人综合日韩精品无码首页| 亚洲日韩精品欧美中文字幕| 内射人妻无码色AV天堂| 国产美女精品人人做人人爽| 免费一级无码在线网站| 国产一区免费在线观看| 91毛片网| 中文字幕亚洲精品2页| 国产成人亚洲毛片| 97在线观看视频免费| 精品午夜国产福利观看| 亚洲,国产,日韩,综合一区| 欧美国产日韩在线观看| 777国产精品永久免费观看| 国产精品女主播| 爽爽影院十八禁在线观看| 国产黄在线免费观看| 日韩中文精品亚洲第三区| vvvv98国产成人综合青青| 欧美中文字幕无线码视频| 91精品伊人久久大香线蕉| 五月丁香在线视频| 欧美激情成人网| 中美日韩在线网免费毛片视频| 免费在线色| 国产精品第三页在线看| 久久综合干| 人妻丰满熟妇AV无码区| 99久久精品免费视频| 国产三级a| 国产91丝袜在线播放动漫 | 中文精品久久久久国产网址 | 国产在线91在线电影| 成色7777精品在线| 亚洲欧美天堂网| 全部毛片免费看| 欧美成人午夜影院| 免费网站成人亚洲| 成人福利在线视频免费观看|