注冊 登錄
Office中國論壇/Access中國論壇 返回首頁

ganlinlao的個(gè)人空間 http://m.mzhfr.cn/?230471 [收藏] [復(fù)制] [分享] [RSS]

日志

FreeBasic中的指針基礎(chǔ)入門一----理解指針變量——冬瓜湯整理

已有 3147 次閱讀2014-9-30 17:27 |個(gè)人分類:FreeBasic| FreeBasic入門, FreeBasic指針入門

前言
對于使用VB的人,指針概念基本上是一片空白。而指針是C語言最大的特點(diǎn)。在FreeBasic中適當(dāng)?shù)赜煤弥羔,能帶來不少的便利和靈活性。對于指針是適當(dāng)使用而不是濫用。
因此理解指針概念,就變得相當(dāng)有意義了。

1、細(xì)說指針

指針是一個(gè)特殊的變量,它里面存儲的數(shù)值被解釋成為內(nèi)存里的一個(gè)地址。

要搞清一個(gè)指針需要搞清指針的四方面的內(nèi)容:

指針的類型、指針?biāo)赶虻念愋、指針的值(或者叫指針(biāo)赶虻膬?nèi)存區(qū))、指針本身所占據(jù)的內(nèi)存區(qū)。

讓我們分別說明:

先聲明幾個(gè)指針放著做例子:

例一:

(1)、dim P as integer ptr

(2)、dim P as string ptr

(3)dim P as integer ptr ptr

(4)、dim P() as integer ptr

說明:Freebasic中聲明指針是用ptr(或pointer)這個(gè)關(guān)鍵字

Dim P as integer ptr  指針的類型是integer

Dim P as string ptr    指針的類型是string

接下來看指針?biāo)赶虻念愋?/span>

Dim P as integer ptr    指針?biāo)赶虻念愋褪?/span>integer

Dim p as string ptr     指針?biāo)赶虻念愋褪?/span>string

注:(1)指針的類型(即指針本身的類型)和指針?biāo)赶虻念愋褪莾蓚(gè)概念

   2)指針的類型與指針?biāo)赶虻念愋途哂邢嗤念愋?/span>

當(dāng)你對FB越來越熟悉時(shí),你會發(fā)現(xiàn),把與指針攪和在一起的"類型"這個(gè)概念分成 "指針的類型""指針?biāo)赶虻念愋?/span>"兩個(gè)概念,是精通指針的關(guān)鍵點(diǎn)之一。

指針的值----或者叫指針?biāo)赶虻膬?nèi)存區(qū)(地址)。指針的值是指針本身存儲的數(shù)值,這個(gè)值將被編譯器當(dāng)作一個(gè)地址,而不是一個(gè)一般的數(shù)值。

32位程序里,所有類型的指針的值都是一個(gè)32位整數(shù),因?yàn)?/span>32位程序里內(nèi)存地址全都是32位長。

指針?biāo)赶虻膬?nèi)存區(qū)就是從指針的值所代表的那個(gè)內(nèi)存地址開始,長度為sizeof(指針?biāo)赶虻念愋?/span>)的一片內(nèi)存區(qū)。

以后,我們說一個(gè)指針的值是XX,就是相當(dāng)于說該指針指向了以XX為首地址的一片內(nèi)存域;

我們說一個(gè)指針指向了某地塊內(nèi)存區(qū)域,就相當(dāng)于說該指的值是這塊內(nèi)存區(qū)域的首地址。

注:指針?biāo)赶虻膬?nèi)存區(qū)和指針?biāo)赶虻念愋褪莾蓚(gè)完全不同的概念。

在例 一中,指針?biāo)赶虻念愋鸵呀?jīng)有了,但由于指針還未初始化,所以它所指向 的內(nèi)存區(qū)是不存在的,或者說是無意義的。

 以后,每遇到一個(gè)指針,都應(yīng)該問問: 這個(gè)指針的類型是什么?指針指 的類型是什么? 該指針指向了哪里?(重點(diǎn)注意) 4 指針本身所占據(jù)的內(nèi)存區(qū) 指針本身占了多大的內(nèi)存? 你只要用函數(shù) sizeof(指針的類型)測一下 就知道了

32位平臺里,指針本身占據(jù)了4個(gè)字節(jié)的長度。

指針本身占據(jù)的內(nèi)存這個(gè)概念在判斷一個(gè)指針表達(dá)式(后面會解釋)是否是左值時(shí)很有用。


下面用圖來展示可能會更清晰:



指針與指針變量的理解:





2、運(yùn)算符@*

在FreeBasic中@是取地址運(yùn)算符。*是間接運(yùn)算符(取值運(yùn)算符)





評論 (0 個(gè)評論)

facelist doodle 涂鴉板

您需要登錄后才可以評論 登錄 | 注冊

QQ|站長郵箱|小黑屋|手機(jī)版|Office中國/Access中國 ( 粵ICP備10043721號-1 )  

GMT+8, 2025-7-13 03:10 , Processed in 0.078500 second(s), 17 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部