Re: [問卦] 指標是不是只有C語言才有的玩死人的把
你要知道C的出現是在那種記憶體還是用幾KB幾KB算的年代
每一點記憶體都很珍貴 每一個CPU時脈都很珍貴
所以出現了指標這種東西允許我們直接改記憶體裡頭的值
一直到現代的作業系統內核基本上都還是C的天下
原因無他 就是快 指標指哪改哪 對於習慣用C的人 腦海裡頭都是指標
假設我們有一塊記憶體裡頭存著五樓的老二尺寸
你直接看記憶體位置
0x1000: 0x1E
0x1001: 0x5
發現不知道這是什麼意思 就只是一個非零值而已
但是我們可以用一個數據結構的指標直接去解讀
struct dick_spec {
uint8_t length;
uint8_t diameter;
};
struct dick_spec *big_dick = 0x1000;
big_dick->length 這個時候就是0x1000 裡頭的 0x1E 也就是十進制的30
代表五樓老二的長度 是 30cm
big_dick->diameter 也就是0x1001的值 0x5 也就是直徑 5cm
指標就是那麼方便 我們把五樓老二的尺寸放在記憶體位址0x1000
用一個數據結構的指標讀出來 就可以馬上拿到30cm 5cm這兩個數字
還只要2bytes
同時你還能有一個 struct dick_spec *small_dick = 0x1000;
想要竄改五樓老二的尺寸
small_dick->length = 0x3;
small_dick->diamter = 0x1;
五樓的老二尺寸就變成三公分 直徑一公分這種袖珍尺寸
那0x1000的值就是0x3 0x1001 就是 0x1了
如果你是用其他語言 勢必要花更大的記憶體空間
即使只是C++宣告一個Class裡頭只有length 跟 diameter各一個byte
外頭的C++包裝可能多了幾個數量級不只
業界真的在用 最多就是雙重指針 ** 再往上的操作都可以簡化到雙重指針
C的本質就是記憶體操作 C++雖然也能做 但是他是被設計拿來當OO用的
要記憶體操作 還是用C就好
※ 引述《iLeyaSin365 (365)》之銘言:
: 指標
: * 取值
: & 取址
: 兩個基本的簡單符號
: 然後人們就自己衍生出什麼指標陣列、
: 陣列指標、指標的指標.....
: 指來指去,搞死自己。
: 結果好像除了C語言家族(包含golang Rust)
: 其他語言也沒什麼在那裡瘋狂用指標這種東西
: 所以沒有指標其實也可以
: 那麼為何C要那麼重指標 然後還要
: 運用得那麼複雜呢?
: 是不是用來整人的玩意 有沒有掛
:
--
其實未必吧 你重度指標一堆allocatio
n的話 快取不友善 效能反而出問題
請問 . 跟 -> 的差異呢?
結構用點 結構的指標用->
反正Python的list本質上也是指標
->是直接簡化*struct.val的方法吧?
是只能這樣用 指標只能用-> 結構只能用. 寫出*struct.val這種東西你要先思考 為啥非得這樣寫不可 你都有struct這個指標了 何必再來個*struct.val這種東西 直接用->就好了 雖然對編譯器而言都一樣 但對看code的人類就像是有屎沒拉出來一樣 struct dick_spec ur_dick; struct dick_spec *dick_ptr = &ur_dick; ur_dick.length; //Good dick_ptr->length; //Good ur_dick->length; // Compile Error dick_ptr.length; // Compile Error
※ 編輯: bluebluelan (98.207.8.217 美國), 06/04/2022 12:29:03學C沒摸過C罩杯
精確一點是(*pam).val簡寫為pam->val
r大的可以 取值之後用.ok
以前些韌體幾乎都是用指標
寫
後來沒寫之後都忘光了 考試也都100分了
對 我也是這麼想的
嗶嗶嗶!內核 雙重指標
怎麼了嗎
※ 編輯: bluebluelan (98.207.8.217 美國), 06/04/2022 13:35:18推文好認真討論 我還以為會有五樓3
公分這種推文= =
這最基本的 看不懂的別碰程式設計了
56
[討論] 道歉文&面試準備C語言分享我在稍早時犯下了大錯就是把請益文自刪,害各位大大給我的建議付諸流水,實在非常抱歉 ,我實在是不知道該如何用言語才能表達我的歉意。 我是真心感到非常的後悔,因此還被調侃我是演員 辱罵我是拉基等等字眼,我實在不知道 要怎麼平息網友們的怒火,說真的 我看了非常的傷心,也很能夠理解網友們生氣的點。 這 些我都接受,我被罵被嘴是應該的,也有人不少留言叫我7414 我也接受。67
[閒聊] 現在記憶體首選是哪一牌?本來PTT電蝦版唯一指定護板神條 美光ballistix記憶體 原廠晶圓 便宜好超 俗又大碗 三年前我就是買這系列 3200可以超上3733 C16 最近要加一條16G記憶體 8+8+16共32G 首選自然是美光 但看了原價屋 發現美光只剩普條 原來現在美光不做超頻條只做普條 ballistix系列被賜死52
[問卦] 記憶體上32gb都是什麼人?自己使用的電腦 記憶體會上32GB的人應該不多吧 蠻好奇都是什麼樣的人 為什麼要上32GB 我先分享我的 為了筆電要跑虛擬機 16GB真的不夠用 所以打算把原本16GB升到我筆電支援最頂的32GB63
[獵人] 金會記憶體不足嗎金 小傑的爹 有興趣也有才能的機掰人 自誇很會模仿念能力 中過一次招就可以模仿出來35
[問卦] 怎麼解釋記憶體跟硬碟的不同比較好?偶爾會聽到有人說自己電腦的記憶體有 1TB 甚至更多, 這種基本上就是搞錯他的電腦硬體了, 不過如果要解釋記憶體跟硬碟的不同, 有沒有什麼合適一點的類比或說法呢? --37
[請益] RN96加裝記憶體大家好,本人電腦外行 最近網購買了一台acer RN96 想說網站上有推薦記憶體升級到16G的組合就買下去了 買回來才發現跟我想的不一樣 我以為記憶體直接插下去就可以13
Re: [問卦] C++可以啟發孩子的程式天份嗎?那要看你怎麼定義程式天份 如果是講演算法跟資料結構 用C或Python下去操比較快 如果是講計算機結構 一樣也是用C跟OS下去操 國中時 C++是我第一門接觸的語言 那個時候要做遊戲的難度不低14
[心得] Apotop記憶體送修心得之前電腦常常開一陣就黑屏當機,把裡面元件都插拔測試看 看,然後發現一隻Apotop ddr3 4G的ram只要插回去就不能 開機 Apotop這家萬國已經沒在做記憶體了,改名立萬利賣健康食 品。不過當初看他標終生保,也知道是威剛關係企業所以才7
[問卦] 記憶體3600Mhz 實際跑2133Mhz有差嗎 卦大家豪 寶傑豪 組了一台電腦 但可能主機板跟CPU 不適合跑3600Mhz 還是要進去開機自己改 工作管理員的效能打開 記憶體只跑2133Mhz 是代表我的配備就是跑這個值最適合
爆
[問卦] 雲端發票抽獎事件有很難查嗎78
[問卦] 央視:台灣人在劉德華演唱會大合唱中國人爆
Re: [新聞] 雲端發票抽獎炎上!財部報告最快今出爐爆
Re: [問卦] 幹你娘電費8千多爆
Re: [新聞] 爆柯文哲「京華城案每階段」都拿63
[問卦]八方雲集是怎麼獨佔天下的?57
[問卦] 為什麼歐洲都希望賀錦麗勝選?38
[問卦] 美國要迎來第一位女性總統了嗎?38
[爆卦] 台大美籍教授民調: 56%台灣人支持賀錦麗52
[問卦] 支撐宏匯廣場營運的主力是新莊當地土豪嗎48
[問卦] 有工作又住家裡是啃老嗎?37
Re: [新聞] 在便條紙留下密令被破解!柯文哲認了「38
[問卦] 西索不去挑戰蟻王的原因 大家能接受嗎40
Re: [新聞] 在便條紙留下密令被破解!柯文哲認了「40
[問卦] 37歲的長澤雅美你可以嗎?49
[問卦] 認真問台灣經濟到底好不好?29
[問卦] 五權分立根本是拉基制度吧37
[問卦] 面試官:雜交吸毒現場,要怎麼處理他們?36
[問卦] 台灣這次挺誰?爆
[問卦] 代孕費100萬是便宜還是貴?21
[問卦] 烏克蘭派台灣志願兵去死地?32
[問卦] 沒人覺得40%是公設很過分嗎?33
[問卦] 驚!大阪男性車廂試營運26
[問卦] 有電怎麼放進去59
[問卦] 美國大選 Dixville Notch結果出爐29
[問卦] 川普跟賀錦麗都269張選舉人票怎麼辦3
[問卦] 中國經濟要垮了小草怎麼還想統一?27
[問卦] 如果孔明生在台灣,會擔任什麼職業?X
Re: [新聞] 雲端發票抽獎炎上!財部報告最快今出爐27
[問卦] 信貸兩百萬買市值ETF七年還 穩嗎