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

C語言指針基本語法及用法

2019-07-12 07:08:02劉變蓮
電子技術(shù)與軟件工程 2019年11期
關(guān)鍵詞:程序

文/劉變蓮

1 何為指針及基本語法

按照馮·諾伊曼計算機(jī)工作原理,程序在運(yùn)行之前,首先要把程序裝入內(nèi)存中存儲起來。接下來才是從內(nèi)存取指令、分析指令、執(zhí)行指令。執(zhí)行指令的過程中還要從內(nèi)存讀取數(shù)據(jù)及把數(shù)據(jù)存入內(nèi)存單元中。所以程序運(yùn)行的每一條語句,都和內(nèi)存打交道,不是從內(nèi)存單元讀取數(shù)據(jù)就是把計算結(jié)果寫入內(nèi)存單元中。

按照內(nèi)存的組織結(jié)構(gòu),它是由一系列的存儲單元組成。一個基本存儲單元就是8 個二進(jìn)制位組成的字節(jié)。每個存儲單元,即每個字節(jié)單元由一個地址編號,用來標(biāo)識該存儲單元。如圖1所示。

指針及基本語法:

指針就是內(nèi)存單元的地址編號。程序中定義的所有變量、數(shù)組、函數(shù)等有名字的對象,編譯器都會給它們分配相應(yīng)的內(nèi)存單元。例如下面的程序段。

假設(shè),a 的內(nèi)存單元分別是2000,2001,2002,2003 共4個字節(jié)單元。所以a的首地址是2000。同樣,假設(shè),p 的內(nèi)存單元是5000,5001,5002,5003 共4 個字節(jié)單元。所以p 的首地址就是5000。見圖2所示。

該段程序是定義一個整型變量,名字是a,同時也定義一個p 變量,因為p 的前面有符號*,所以p 的類型是指針型。此處的*是標(biāo)識符號,標(biāo)志p 是指針變量。就是p 的內(nèi)存單元存儲了另一個整型變量的地址。這里,p 的單元中存儲了變量a 的地址,所以說p 變量指向了變量a。第三行代碼p 的前面也有一個*,此處的*是運(yùn)算符號,運(yùn)算對象是p,*p 指p指向的對象,此處就是a,也就是*p 就是a。借指針變量來讀寫a 的數(shù)據(jù),這種方法稱為間接訪問a 的方法。用a 的名字來訪問a 內(nèi)存數(shù)據(jù)的方法稱為直接訪問a 的方法。

所以,變量名a 即指內(nèi)存單元,也指內(nèi)存單元中的數(shù)據(jù)。變量名就是內(nèi)存單元的代號,所以,知道變量名,也可以獲得內(nèi)存單元的地址;反之,知道地址,也可以獲得內(nèi)存單元中的值。所以,*和&是互逆的一對運(yùn)算符號。

總之,指針變量存儲了另一個變量的地址。可以通過指針變量間接訪問它指向的變量。

2 在何處用指針

2.1 在函數(shù)之間共享數(shù)據(jù)

如果某個函數(shù)想使用另一個函數(shù)中定義的數(shù)據(jù),因為受變量作用域的限制,需要指針類型的參數(shù),作為傳遞數(shù)據(jù)的通道。下面的程序是實現(xiàn)主函數(shù)中變量a 和變量b 交換數(shù)值,程序如下。

分析上面的例子,swap 函數(shù)調(diào)用時,主函數(shù)中,a,b 變量的地址用實參數(shù)的形式傳遞給形參變量x,y,所以,swap 函數(shù)內(nèi),*x,*y 分別代表主函數(shù)的變量a,b。所以就可以實現(xiàn)主函數(shù)中的數(shù)據(jù)a,b,swap 函數(shù)中也可以使用,用的是間接使用。*x,*y 就是間接使用了主函數(shù)中的變量a,b。

2.2 高效訪問數(shù)組元素

指針可以用來高效訪問數(shù)組元素,下面的程序段就是例證。

分析上面的程序,之所以可以用指針變量快速訪問數(shù)組元素,就是因為數(shù)組元素是連續(xù)存儲,并且指針變量可以完成自增1 的運(yùn)算,就是這里的p++,p 變量中存儲了從下標(biāo)是0的元素的地址到下標(biāo)是9 的元素的地址。

圖1:內(nèi)存結(jié)構(gòu)

圖2:指針變量p 指向整型變量a

3 使用指針應(yīng)注意的事項

指針變量在使用前,必須要指向一個已經(jīng)存在的對象,否則就會帶來風(fēng)險操作,見下面的程序片段。

假如有下面的語句存在的情況下,才能做上面的操作。

4 指針總結(jié)

指針就是內(nèi)存單元的地址編號,也就是地址的另一個稱謂。指針變量就是存儲其他對象地址的變量。我們是要利用指針去訪問另一個它指向的對象,比如,變量、數(shù)組元素、函數(shù),甚至是指針等。由于篇幅,留待以后進(jìn)一步闡述指針。

猜你喜歡
程序
給Windows添加程序快速切換欄
電腦愛好者(2020年6期)2020-05-26 09:27:33
試論我國未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
基于VMM的程序行為異常檢測
偵查實驗批準(zhǔn)程序初探
我國刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 高清码无在线看| 免费激情网址| 免费久久一级欧美特大黄| 成人午夜久久| 一级做a爰片久久免费| 欧美伦理一区| 久久久久免费看成人影片| 一区二区三区四区日韩| 国产极品美女在线| 中文无码伦av中文字幕| 亚洲欧洲日产无码AV| 熟妇丰满人妻| 国产高清毛片| 欧美第九页| 日本成人福利视频| 一级不卡毛片| 色偷偷av男人的天堂不卡| 国产女人18水真多毛片18精品| 99人妻碰碰碰久久久久禁片| 国产啪在线91| 五月天丁香婷婷综合久久| a级毛片免费网站| 国产91色| 欧美一级片在线| 日本午夜影院| 国产微拍精品| 亚洲精品中文字幕午夜| 亚洲av无码片一区二区三区| 综合成人国产| 欧美www在线观看| 91精品啪在线观看国产91九色| 日韩精品高清自在线| 呦系列视频一区二区三区| 伊人久久久久久久| 久久鸭综合久久国产| 日韩免费成人| 日本人妻丰满熟妇区| 亚洲av成人无码网站在线观看| 91九色国产在线| 在线日韩日本国产亚洲| 亚洲欧美成人网| 亚洲人成网站日本片| 精品1区2区3区| 重口调教一区二区视频| 亚洲色图狠狠干| 99久久这里只精品麻豆| 国产99视频在线| 国产91成人| 国产乱子伦无码精品小说| 日本91视频| 亚洲成a人片| 亚洲视频在线观看免费视频| 欧美午夜久久| 亚洲色图另类| 超清无码熟妇人妻AV在线绿巨人| 欧美区国产区| 欧美激情首页| 波多野结衣一区二区三区四区| 国产成人艳妇AA视频在线| 国产97视频在线观看| 成人福利视频网| 国产乱人伦精品一区二区| 免费高清自慰一区二区三区| 日韩免费中文字幕| 欧美精品在线免费| 国产精品手机在线观看你懂的| 国产黄色片在线看| 亚洲国产看片基地久久1024| 欧美伊人色综合久久天天| 亚洲一级毛片免费看| 精品福利国产| 亚洲综合经典在线一区二区| 国产成人高精品免费视频| 国产视频久久久久| 无码网站免费观看| 中国国产A一级毛片| 91精品国产91久无码网站| 特黄日韩免费一区二区三区| 久久久久亚洲精品成人网| 国产在线一二三区| 91九色最新地址| 久久综合久久鬼|