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 是代表我的配備就是跑這個值最適合
爆
[爆卦] 111簡訊被詐騙集團破解了?88
[問卦] 文組的天才大概是怎樣的人?爆
[問卦] 臺灣有所謂的「搖擺縣」嗎爆
[問卦] 剛升上建中、北一女的失落感爆
[問卦] 開公車月薪8萬7太頂了吧?66
[問卦] 貪污11億的話 會判多久43
[問卦] 偏藍的新聞台為什麼挺賀錦麗?44
[問卦] 吉野家為什麼被すき家屌打28
[問卦] 第一次報警就為了家暴30
Re: [新聞] 高虹安詐領11.6萬助理費 高院今首開庭訊93
[問卦] 收到調查局通知書 該準備什麼勒?爆
Re: [新聞] 高虹安詐領11.6萬助理費 高院今首開庭訊26
[問卦] 貪污要改什麼詞比較好聽?23
[問卦] 有沒有三立不敢造次華仔的八卦?爆
[問卦] 到日本吃什麼食物是白痴?79
[問卦] 2030年國中、小要達成全英語授課?23
[問卦] 所以台灣特戰到烏克蘭也不過是炮灰?25
[問卦] 李雅英在台灣人氣為何沒以前李多慧高?75
[問卦] 看不懂打劉德華這操作要幹嘛?75
[問卦] 一句話証明你看過與龍共舞17
[問卦] 台灣人仇中很正常吧〓〓?18
[問卦] 西班牙下400mm雨 就死了200人?!17
[問卦] 今年雙11 OTT要買哪家? Myvideo想換掉了爆
[問卦] 邱瓈寬叫人舔屁眼不怕被告嗎15
[爆卦] Quincy Jones 過世14
Re: [問卦] 川普會當選總統吧?14
[問卦] 劉伯溫傳奇 是唬爛的...?12
[問卦] 左撇子的人 擁有怎樣的特質呢??13
Re: [問卦] 螺絲蹦牙(滑牙) 怎辦==23
[問卦] 娃娃國是很可怕的歌吧☹