cpu進行操作的都是位址 號在c語言中的作用

2021-07-24 23:32:37 字數 526 閱讀 7941

cpu 訪問記憶體時需要的是位址,而不是變數名和函式名!變數名和函式名只是位址的一種助記符,當原始檔被編譯和鏈結成可執行程式後,它們都會被替換成位址。編譯和鏈結過程的一項重要任務就是找到這些名稱所對應的位址。

假設變數 a、b、c 在記憶體中的位址分別是 0x1000、0x2000、0x3000,那麼加法運算c = a + b;將會被轉換成類似下面的形式:

0x3000 = (0x1000) + (0x2000);

( )表示取值操作,整個表示式的意思是,取出位址 0x1000 和 0x2000 上的值,將它們相加,把相加的結果賦值給位址為 0x3000 的記憶體

在我們目前所學到的語法中,星號*主要有三種用途:

表示乘法,例如int a = 3, b = 5, c;  c = a * b;,這是最容易理解的。

表示定義乙個指標變數,以和普通變數區分開,例如int a = 100;  int *p = &a;。

表示獲取指標指向的資料,是一種間接操作,例如int a, b, *p = &a;  *p = 100;  b = *p;。

C 獲取硬碟號,CPU資訊,加密解密技術的步驟

在我們編寫好一款軟體後,我們不想別人盜用我們的軟體,這時候我們可以採用註冊的方式來保護我們的作品。這時候我們可能就需要簡單了解一下加密解密技術,下面是我的簡單總結 第一步 程式獲得執行機的唯一標示 比如 網絡卡號,cpu編號,硬碟號等等 第二步 程式將獲得的唯一標示加密,然後有使用者或者程式將加密後...

C 指標之對未宣告的位址進行訪問

例1 下列 的執行結果是什麼?int ptr ptr int 0x8000 ptr 3 例2 下面這個程式在哪一行會崩潰?struct s int i int p int main s s int p s.i p 0 4 p 1 3 s.p p s.p 1 1 s.p 0 2 return 0 解析...

PHP操作IP位址在mysql中的儲存方式

php echo ip2long 192.168.1.38 輸出 3232235814 mysql select inet aton 192.168.1.38 輸出 3232235814 兩個函式返回的結果是一樣的,都是a 256 256 256 b 256 256 c 256 d的演算法 192 ...