Office中國(guó)論壇/Access中國(guó)論壇

 找回密碼
 注冊(cè)

QQ登錄

只需一步,快速開始

tag 標(biāo)簽: Freebasic指針入門二

相關(guān)帖子

版塊 作者 回復(fù)/查看 最后發(fā)表

沒有相關(guān)內(nèi)容

相關(guān)日志

分享 FreeBasic中的指針基礎(chǔ)入門二----指針與數(shù)組的關(guān)系——冬瓜湯整理
ganlinlao 2014-9-30 22:18
FreeBasic中的指針基礎(chǔ)入門二----指針與數(shù)組的關(guān)系——冬瓜湯整理
3、數(shù)組和指針的關(guān)系 數(shù)組的數(shù)組名其實(shí)可以看作一個(gè)指針。 例九: Dim MyArray(9) as long={0,1,2,3,4,5,6,7,8,9} Dim value as long Value = MyArray(0) /’ 也可以寫成: value=*MyArray ‘/ Value = Myarray(3) ‘ 也可以寫成: value = *(myarray+3) Value=MyArray(4) ‘ 也可以寫成: value=*(MyArray +4) 一般而言 數(shù)組名 Myarray 代表數(shù)組本身,類型是 long ,但如果把 array 看做指針的話,它指向數(shù)組的第 0 個(gè)單元,類型是 long ptr , 所指向的類型是數(shù)組單元的類型即 long 。 因此 *Myarray 等于 0 就一點(diǎn)也不 奇怪了。 同理, Myarray+3 是一個(gè)指向數(shù)組第 3 個(gè)單元的指針,所以 *(array+3) 等于 3 。 其它依此類推。 用下圖來顯示可能更直白一點(diǎn): 注:在 FreeBasic 中,數(shù)組下標(biāo)的表示法是 A(i) ,指針數(shù)組是用 P 表示,這兩者有區(qū)別。 4、指針的運(yùn)算 4.1指針的賦值運(yùn)算 4.2、指針的算術(shù)運(yùn)算 指針可以加上或減去一個(gè)整數(shù)。 指針的這種運(yùn)算的意義和通常的數(shù)值的加減運(yùn)算的意義是不一樣的,以單元為單位。 例二: Dim a(20) as string Dim P as string ptr P=@a(0) P +=1 說明:在 p +=1 中,指針變量 P 被加了 1 。編譯器是這樣處理的: 它把指針 P 的值加上了 sizeof(string) 注:兩個(gè)指針不能進(jìn)行加法運(yùn)算,這是非法操作。因?yàn)檫M(jìn)行加法后, 得到的結(jié)果指向一個(gè)不知道指向的地方,而且毫無意義。 在同一個(gè)數(shù)組中,兩個(gè)指針可以進(jìn)行減法操作,但必須類型相同。 4.3、指針的關(guān)系運(yùn)算 5、指針與二維數(shù)組
個(gè)人分類: FreeBasic|2526 次閱讀|0 個(gè)評(píng)論

QQ|站長(zhǎng)郵箱|小黑屋|手機(jī)版|Office中國(guó)/Access中國(guó) ( 粵ICP備10043721號(hào)-1 )  

GMT+8, 2025-7-13 07:48 , Processed in 0.044725 second(s), 13 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

返回頂部