對於我初學者,真的難理解指標的奧妙。最近碰到了許多問題,也同時解決許多關於指標的問題。
貼乙個利用二級指標構造nlen(列)×nlistsize(行)佇列,希望對跟我一樣的人有所幫助。
原理://利用頭追尾的方式,進行資料操作
//首先對第一行存資料操作,操作好,呼叫incbufend()
//當讀取資料的時候,會呼叫取資料操作,取了一行,呼叫incbufhead()
//.h檔案中
class cquebuf
;//.cpp檔案裡*****************************
//開闢nlen(列)×nlistsize(行)
cquebuf::cquebuf(int nlen,int nlistsize):max_buf_len(nlen),max_buf_list_size(nlistsize)
cquebuf::~cquebuf(void)
}void cquebuf::incbufhead(void)
}測試結果:
第一次:(初始化)m_pbuf: 0x00375018 m_phead: 0x00375018 max_buf_list_size:10
//條件m_phead >= (m_pbuf + max_buf_list_size)不滿足
第二次:m_pbuf: 0x00375018 m_phead: 0x0037501c max_buf_list_size:10
//條件m_phead >= (m_pbuf + max_buf_list_size)不滿足
第三次:m_pbuf: 0x00375018 m_phead: 0x00375020 max_buf_list_size:10
//條件m_phead >= (m_pbuf + max_buf_list_size)不滿足
*****
二維陣列與二維指標
1.二維陣列的儲存是線性的,可以通過一維指標的方式訪問。如一下 int map 5 5 int mapd map 0 0 則 map i j mapd i 5 j 而利用二維陣列線性儲存的特性,可以將二維陣列當作一維指標方便的在函式之間傳遞 如 將乙個二維陣列賦值給乙個動態二維陣列,引數設定為一維指...
二維指標和二維陣列
二維指標和二維陣列有三種形式 1,type ptr 2,type ptr或者type prt 3,type prt 三種形式意思相近,也有區別。首先三種形式都能表示二維的資料結構。1,type ptr 表示乙個指向指標的指標 但是在一開始宣告的時候 type ptr ptr到底指向幾個指標是不知道的...
二維陣列與二維指標
一.指標與二維陣列 以martix 3 4 為例 1.二維陣列的本質 int martix 3 4 int martix 3 4 int 4 martix 3 令int 4 為type,type martix 3 為含有三個元素的陣列,每乙個元素型別為int 4 int 4 是乙個擁有4個int型別...