亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 19488 | 回復: 55
打印 上一主題 下一主題

也談指針,指向內(nèi)存大小,指針的大小... [復制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2010-10-13 22:56 |只看該作者 |倒序瀏覽
http://www.72891.cn/thread-1796401-1-3.html
原帖中sb與大姨媽齊飛,匆匆翻了一遍,簡直不忍卒讀
有一些算是技術(shù)討論的內(nèi)容又偏題到lvalue和rvalue
還是重新說說吧

這個問題不搞清,還是少發(fā)點帖子,多看點書的好

首先,原帖作者貼出那段程序,又給了運行結(jié)果,我不知道他想說明什么
(順便說一下,那么多空行看得人眼暈)
打印出一堆指針指向的malloc對象的malloc_usable_size的值
跟指針包含什么內(nèi)容有關(guān)系嗎?
  1.      The malloc_usable_size() function returns the usable size of the alloca-
  2.      tion pointed to by ptr.  The return value may be larger than the size
  3.      that was requested during allocation.
復制代碼
其次,關(guān)于指針的這些問題,說簡單真的簡單
但要寫出來讓人人都明白,沒有疑議,那就很難了
忽然想到,搜了一下wiki,瀏覽了一下覺得還不錯,至少內(nèi)容挺豐富全面的,不妨參考一下
http://en.wikipedia.org/wiki/Pointer_%28computing%29
本人斗膽小結(jié)一下,勿噴
指針就是一個變量,變量最主要的么就是名字,類型和值這幾個屬性
名字就不用說了
類型就是指針“指向的數(shù)據(jù)類型”的指針
比如指向的數(shù)據(jù)類型是int,那指針類型就是“指向int的指針”
值,就是一個普通的無符號整數(shù),這里用來表示地址
說到值,就與指針的大小有關(guān)了,也就是指針本身占用的內(nèi)存
這個俺也沒興趣去翻標準什么的,只是簡單說在指定的系統(tǒng)上,指針的大小是固定的
x86系統(tǒng)上,C語言指針應該是32位
也就是一個指針占用4個字節(jié)
關(guān)于指針,也就這么多了

接下來,就是指針指向內(nèi)存的大小了
一般來說指針都指向一個堆上動態(tài)分配的空間
這個堆上的空間與指針本身一點關(guān)系都沒有
指針只是告訴我們這個空間的首地址
空間多大,指針是沒有概念的
不信的可以試試申請10個字節(jié)往里面狂寫
指針照做不誤
只是這樣會造成堆溢出而已
堆上的內(nèi)存空間一般是由malloc和free管理的
它們在管理堆數(shù)據(jù)的時候會有額外的meta data
其中就包括了用戶申請的內(nèi)存的大小
堆數(shù)據(jù)是用鏈表管理的,那么meta data中還包括這些鏈表的指針
詳細說下去又太復雜了,要說明的只是堆數(shù)據(jù)是通過其meta data管理的,與指針沒有關(guān)系


灌水結(jié)束
最后表示一下對某些榮譽人物的失望
素質(zhì),注意你的素質(zhì)!

論壇徽章:
0
2 [報告]
發(fā)表于 2010-10-13 23:14 |只看該作者
關(guān)于malloc和free 可以參考一下dlmalloc源碼 http://blog.chinaunix.net/u/26524/showart_1946446.html

論壇徽章:
0
3 [報告]
發(fā)表于 2010-10-13 23:26 |只看該作者
回復 2# lenky0401

嗯,有心了

原來glibc的malloc也是基于這個來的
不過給的鏈接也不是源碼阿
還有,既然在cu,文檔怎么也弄個pdf吧

論壇徽章:
2
程序設計版塊每日發(fā)帖之星
日期:2015-06-17 22:20:00每日論壇發(fā)貼之星
日期:2015-06-17 22:20:00
4 [報告]
發(fā)表于 2010-10-14 00:50 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
5 [報告]
發(fā)表于 2010-10-14 08:56 |只看該作者
“指針就是一個變量”
在這個帖子里有詳細的討論


至于

我也有同感
歡迎樓主繼續(xù)發(fā)表高見
pmerofc 發(fā)表于 2010-10-14 00:50


嗯,指針是一個數(shù)據(jù)類型
或者說“指針變量是一個變量”(不過您不覺得這樣樣說有點傻么?雖然更“正確”)
或者說指針是一種變量,指針是一類變量,不知道是該用“種”好還是“類”好?

個人覺得要嚴格區(qū)分的話,每次說到時都要說明是“指針類型”還是“指針變量”
那這樣寫出來的東西,不要說是網(wǎng)絡灌水了,就是教科書也會讓人覺得面目可憎
所以不影響理解文意就可以了
就像Liinux一樣,嚴格來說只是內(nèi)核,有時也指系統(tǒng),混著用大家明白就可以了

邪惡的ps:
昨天貼完原帖已經(jīng)發(fā)現(xiàn)這個問題了,就等著有人揪出來呢

論壇徽章:
0
6 [報告]
發(fā)表于 2010-10-14 09:48 |只看該作者
蛋疼……

論壇徽章:
2
程序設計版塊每日發(fā)帖之星
日期:2015-06-17 22:20:00每日論壇發(fā)貼之星
日期:2015-06-17 22:20:00
7 [報告]
發(fā)表于 2010-10-14 11:21 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
8 [報告]
發(fā)表于 2010-10-14 12:49 |只看該作者
討論這個復雜的問題,大家先把下列幾個概念澄清一下:

指針
指針類型
指針類型的變量
指針類型的值
指針類型的變量的值
地址

大家上面在不同的地方使用”指針“這個概念時,實際指的東西是不一樣的。
如果這個問題不澄清,大家說的不是同一個的東西,那是怎樣也討論不出一個有意義的結(jié)果的

論壇徽章:
2
程序設計版塊每日發(fā)帖之星
日期:2015-06-17 22:20:00每日論壇發(fā)貼之星
日期:2015-06-17 22:20:00
9 [報告]
發(fā)表于 2010-10-14 13:05 |只看該作者
提示: 作者被禁止或刪除 內(nèi)容自動屏蔽

論壇徽章:
0
10 [報告]
發(fā)表于 2010-10-14 15:53 |只看該作者
吃火藥拉?我感覺指針就是指針變量,地址不算指針
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP